Ely*_*lye 8 android android-manifest android-library
当我创建一个Android库时,默认情况下它会在Manifest文件中给我以下内容
<application android:allowBackup="true"
android:label="@string/app_name"
android:supportsRtl="true"/>
Run Code Online (Sandbox Code Playgroud)
在将其作为Bintray上的库发布并被其他人使用之后,只需了解包含此库的应用程序是否在其清单中具有以下内容
android:supportsRtl="false"
Run Code Online (Sandbox Code Playgroud)
它将在gradle sync或编译期间发布如下错误.
Error:Execution failed for task ':app:processProductionDebugManifest'.
> Manifest merger failed : Attribute application@supportsRtl value=(false) from AndroidManifest.xml:23:9-36
is also present at [com.mylibrarypackage:mylibrary:1.0.0] AndroidManifest.xml:14:9-35 value=(true).
Suggestion: add 'tools:replace="android:supportsRtl"' to <application> element at AndroidManifest.xml:18:5-67:19 to override.
Run Code Online (Sandbox Code Playgroud)
要修复它,我想我需要android:supportsRtl="true"从我的库Manifest中删除它.
只是想知道为什么Android将此默认为库清单?如果我android:supportsRtl="true"从我的库Manifest中删除会有任何潜在的问题吗?
Int*_*iya 22
工具:replace ="x,y"
使用提供的值替换任何较低优先级声明的x,y属性(必须存在于同一节点上).
导入目标SDK低于项目的库时,可能需要显式授予权限(并可能进行其他更改),以使库在以后的运行时中正常运行.这将由清单合并自动执行.
你来了
清单合并失败:AndroidManifest.xml中的属性应用程序@ supportsRtl值=(false):23:9-36
你可以加
tools:replace="android:supportsRtl"
Run Code Online (Sandbox Code Playgroud)
最后
<application android:allowBackup="true"
android:label="@string/app_name"
android:supportsRtl="true"
tools:replace="android:supportsRtl"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5661 次 |
| 最近记录: |