달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
반응형

ionic2, Angular에서 AndroidManifest.xml을 수정할 일이 생겼었다.

ionic2, Angular에서 AndroidManifest.xml를 직접 건드리면 나중에 개발자가 바뀐다거나 platform을 다시 추가할 때,

다시 같은 작업을 해줘야 하는 일이 생기기 때문에 (platform 쪽 소스는 Git이나 svn에 올라가지 않기 때문)

매우 꺼려지는 일 중에 하나였다.

그래서 찾아보니 다행히도 config.xml에서 config-file, edit-config 등등 태그를 이용하면

platform에 있는 파일(xml, plist 등)도 수정할 수 있음을 확인하였다.

 

그런데 여기서 문제가 하나 발생했다.

config-file 태그를 cordova 공식 홈페이지 대로 따라 해서 적용해보았는데 아래와 같은 오류가 난 것이다.

Execution failed for task ':app:mergeDebugResources'.
> java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed
  {{ionic_app_route}}\platforms\android\app\src\main\res\xml\config.xml:80: error: unbound prefix.

구글에 검색해보니 android 네임스페이스를 선언하지 않아서 생긴 문제라

간단히 config.xml 최상위 태그인 widget에

xmlns:android="http://schemas.android.com/apk/res/android" 를 추가하면 되는 일이었다.

 

참조 : https://cordova.apache.org/docs/en/latest/plugin_ref/spec.html#edit-config                     https://stackoverflow.com/questions/18871005/error-parsing-xml-unbound-prefix-on-library

반응형
:
Posted by 리샤씨
반응형

다음 오류는 ionic2, Angular에서 firebase, media, camera 등등의 플러그인을 설치한 뒤,

안드로이드에 넣기 위해 빌드해보니 발생한 오류이다.

com.android.build.api.transform.TransformException: Error while generating the main dex list: 
  Error while merging dex archives: 
  Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes. 
  Program type already present: android.support.v4.app.INotificationSideChannel$Stub$Proxy

해결하기 위해 찾아보니 Cordova 프로젝트에 Android 지원 라이브러리 및 AndroidX를 모두 참조하는 플러그인/라이브러리가 포함된 경우 Android 빌드가 실패한다고 한다.

그래서 이를 보완해주는 cordova-plugin-androidx-adapter를 추가 설치하니 정상적으로 빌드가 성공되었다.

 

참조 : https://github.com/dpa99c/cordova-plugin-androidx-adapter

반응형
:
Posted by 리샤씨


반응형
반응형