2015年9月10日木曜日

ライブラリで指定された AndroidManifest の属性を置き換える

利用しているライブラリで android:allowBackup="true" が指定されているときに、自分のアプリで android:allowBackup="false" を指定するとマニフェストのマージに失敗してビルドエラーになります。
> Manifest merger failed : Attribute application@allowBackup value=(false) from AndroidManifest.xml:22:9-36
   is also present at [利用しているライブラリ] AndroidManifest.xml:9:18-44 value=(true)
   Suggestion: add 'tools:replace="android:allowBackup"' to  element at AndroidManifest.xml:21:5-83:19 to override

エラーメッセージの Suggestion にあるように tools:replace="android:allowBackup" をつけるとアプリ側の設定が利用されエラーが解消します。 <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="net.yanzm.sample"> <application android:allowBackup="false" tools:replace="android:allowBackup" ...> ... </application> </manifest> その他の tools 属性なども Attributes markers examples に載っています。


0 件のコメント:

コメントを投稿