【问题标题】:Android manifest merge dropping attributeAndroid清单合并删除属性
【发布时间】:2017-03-08 21:40:33
【问题描述】:

我正在使用 groovy 生成部分清单,其中包含来自我的构建配置文件的应用程序链接的意图过滤器声明。在 apk 中找到的合并清单看起来符合预期,但有一个问题:尽管在 build.gradle 中设置了属性 android:debuggable,但它被删除了。如果我删除部分清单并重建 apk,android:debuggable="true" 将按预期设置。

我的主要清单如下所示:

<manifest package="com.app.myapp"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:installLocation="auto">

        <application
        android:name="MyApp"
        tools:replace="android:theme, android:label, android:allowBackup">

        </application>
</manifest>

我生成的部分清单看起来像:

<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.app.myapp" xmlns:android="http://schemas.android.com/apk/res/android">
        <application
                android:name="MyApp">
                <activity android:name=".activity.MyActivity">
                        <intent-filter android:autoVerify="true">
                                <action android:name="android.intent.action.VIEW"/>
                                <category android:name="android.intent.category.BROWSABLE"/>
                                <category android:name="android.intent.category.DEFAULT"/>

                        </intent-filter>
                </activity>
        </application>
</manifest>

并在build.gradle 文件中设置debuggable true

属性android:debuggable 正在从apk 中的合并清单中删除,我可以做些什么来确保它设置正确而不将其添加到部分清单中(我不知道它在gradle 同步时脚本运行并且不想将其硬编码为true)?

【问题讨论】:

    标签: android groovy android-manifest manifest-merging


    【解决方案1】:

    从部分清单文件的application 节点中删除android:name 属性后,合并正确发生。

    有效的部分清单:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest package="com.app.myapp" xmlns:android="http://schemas.android.com/apk/res/android">
            <application>
                    <activity android:name=".activity.MyActivity">
                            <intent-filter android:autoVerify="true">
                                    <action android:name="android.intent.action.VIEW"/>
                                    <category android:name="android.intent.category.BROWSABLE"/>
                                    <category android:name="android.intent.category.DEFAULT"/>
    
                            </intent-filter>
                    </activity>
            </application>
    </manifest>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-03
      • 2015-09-24
      • 2019-08-08
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      相关资源
      最近更新 更多