gpt4 book ai didi

Android - 如何避免在多个 list 文件中重复?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:35:27 28 4
gpt4 key购买 nike

我的项目有 3 个 list 文件:

flavour/AndroidManifest.xml
flavourDebug/AndroidManifest.xml
flavourRelease/AndroidManifest.xml

这里是 flavour/AndroidManifest.xml:

<manifest
xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.READ_CONTACTS" />
</manifest>

这是 flavorDebug/AndroidManifest.xml:

<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<application android:name="com.domain.android.MyApplication"
android:allowBackup="false"
android:label="@string/app_name"
android:logo="@drawable/ic_logo"
android:theme="@style/Theme.CustomActionBarStyle"
android:networkSecurityConfig="@xml/network_security_config"
tools:replace="theme">

// Activity definitions in here

</application>
</manifest>

这是 flavorRelease/AndroidManifest.xml:

<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<application android:name="com.domain.android.MyApplication"
android:allowBackup="false"
android:label="@string/app_name"
android:logo="@drawable/ic_logo"
android:theme="@style/Theme.CustomActionBarStyle"
tools:replace="theme">

// Activity definitions in here (these are the EXACT SAME as the ones in flavourDebug/AndroidManifest.xml)

</application>
</manifest>

如您所见,调试 list 和发布 list 之间的唯一区别是缺少发布 list android:networkSecurityConfig

另外,// Activity definitions in here部分是完全一样的。我想要的是避免 Activity 重复。每次我们必须更改 Activity 定义中的某些内容(或添加新 Activity )时,我们必须在 2 个 list 文件(调试和发布)中执行此操作。

我想将所有内容都放在主 AndroidManifest.xml 文件中。问题是我无法添加 android:networkSecurityConfig="@xml/network_security_config" 仅用于调试版本

在 Android 布局中,这个问题用 <include> 解决了标签。不幸的是, list 中没有。

如何解决这个重复问题?

最佳答案

你绝对可以将公共(public)部分放在 flavour/AndroidManifest.xml 中,将附加属性放在 flavourDebug/AndroidManifest.xml 中(以及 中引用的 xml 文件>src/flavourDebug/res/xml 目录):

<application
android:networkSecurityConfig="@xml/network_security_config" />

当您添加属性时,它应该开箱即用,无需调整合并规则(tools:node="merge" 是大多数元素的默认行为)。

使用 Android Studio 3.1(可能还有更早的版本),您可以在编辑器的合并 list 选项卡中查看最终 list ,以及每个属性或元素的来源。

关于Android - 如何避免在多个 list 文件中重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49522527/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com