我正在为教育大学处理一个项目,那里有<5个单独的大学 每个大学都有自己的应用程序但是在每个应用程序中图像,json 不同,源代码保持不变。 我想使用一个源代码创建具有不同包名称的5个apperate apks,如果源代码中的任何更改应该在所有apks中更新。
请给我项目结构,graddle.build工具设置,如果我需要使库如何以及在哪里,或者请上传样本以做详细的上述类型。
答案 0 :(得分:8)
按照Android开发者指南Configuring Gradle Builds,我能够使用不同的资源创建共享相同代码的应用程序。
首先,在Android Studio(Gradle:Android Module)中创建新项目后,我添加到build.gradle文件(驻留在您的模块目录中,如'Project / app / build.gradle')'blue'和'red '味道:
android {
// ...
productFlavors {
blue {
applicationId 'com.example.app.blue'
versionName '1.0-blue'
}
red {
applicationId 'com.example.app.red'
versionName '1.0-red'
}
}
}
IDE请求将项目文件与Gradle同步,所以我做到了。然后我通过右键单击 Project 面板中项目根目录中的'app'将资源文件colors.xml添加到'red'flavor中(New - &gt; Android资源文件,选择'red'作为我的< em>源集)。
接下来我修改了新文件以包含颜色资源的定义:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#ff0000</color>
</resources>
我做了同样的'蓝色'味道(但颜色值不同)。
我在创建新项目时更改了自动创建的活动布局的背景颜色,以查看它是否有效。
<RelativeLayout
...
android:background="@color/primary" />
在 Build Variants 面板中切换构建变体(由左下角按钮名称打开)导致我的活动中出现不同的背景颜色。
我假设您在Android中保留您的图片,json和其他文件重新启动目录,因此您应该以不同的方式保存不同文件的方式与我所取得的相似。
请参阅this网站以更好地了解产品风格和构建变体。
答案 1 :(得分:0)
flavour1,flavour2,flavour3是我的子目录,它们有不同的图像,json和如flavour1所示放置,类似于flavour2,flavour3。
使用构建变量选择要运行的flavor并生成相应的apk。
放置在主要内容中的任何资源都覆盖了主要内部的资源,因此flavour1的images和localjson正在填充。