我尝试将项目添加到xml包含的项目如:
<item android:id="@+id/home3" android:title="Home" android:icon="@drawable/home"></item>
<item android:id="@+id/home3" android:title="Home2" android:icon="@drawable/home2"></item>
<item android:id="@+id/home3" android:title="Home3" android:icon="@drawable/home3"></item>
我想以编程方式(动态)添加到此xml。
答案 0 :(得分:1)
取决于您正在谈论的XML。情侣:
AndroidManifest
。但是,我认为重要的部分是为什么你想要这样做。我猜测你正试图从同一个代码库构建不同的APK。你可以那样做!资源,AndroidManifest
甚至类都可以在构建时换出来!
答案是product flavors。要实现它们,您需要做两件事:
build.gradle
文件中。这是一个示例应用程序布局。还有其他目录我没有包含,因为他们并不需要说明我的观点:
├─ app
│ ├─ src
│ │ └─ main
│ │ ├─ java
│ │ │ └─ com/example/project
│ │ ├─ res
│ │ └─ AndroidManifest.xml
│ │ └─ productFlavor
│ │ ├─ java
│ │ │ └─ com/example/project
│ │ ├─ res
│ │ └─ AndroidManifest.xml
│ ├─ build.gradle
您不必在每种风格中包含所有目录。正如资源将会落在&#34;如果某些东西不存在,那么产品口味的工作方式也是一样的。
所以,如果我有调试或付费产品的味道,如果我希望它们是相同的,我不必包含不同的启动器图标。只有我希望它们与众不同。
将build.gradle
改为看起来像这样。您可以覆盖defaultConfig
中几乎所有可用的选项 - 可能还有更多。我还没有达到极限:
android {
defaultConfig {
applicationId 'com.example.project'
versionCode 4
versionName '4.0'
}
productFlavors {
project1 {
applicationId 'com.example.project1'
versionCode 1
versionName '1.0'
}
project2 {
applicationId 'com.example.project2'
versionCode 2
versionName '2.0'
}
}
}