我有一个Android项目,我需要创建多个apks。每个apk之间的唯一区别是包名称(例如com.my.package.name)和应用程序字符串名称,因此我可以在一个设备上安装该应用程序的多个实例。有没有更好的方法呢?我考虑过创建一个库项目,但我认为可能有一种更简单的方法。
答案 0 :(得分:2)
您可以将主代码放入库中,并构建多个生成多个APK的兄弟项目:
我测试了这个并且比我想象的要容易得多: https://stackoverflow.com/a/9971543/305135
答案 1 :(得分:1)
图书馆项目是这样做的正确方法。您可以创建和处理库项目,并为每个版本创建一个项目,该项目取决于库项目。请记住,您需要为每个项目都拥有正确的Androidmanifest。
答案 2 :(得分:1)
您可以试用新的Android构建系统。这是一些链接
您可以自定义以下属性:
答案 3 :(得分:1)
您可以在app level的gradle中使用productFlavor。
flavorDimensions "tier"
productFlavors {
dev
{
dimension "tier"
buildConfigField "String", "URL", "\"http://glapp/demo.php\""
buildConfigField "boolean", "ENABLE_DEBUG", "false"
versionName = android.defaultConfig.versionName + " dev"
applicationId = "com.abc.glnewapp.dev"
resValue "string", "app_name", "GL Demo"
}
prod
{
dimension "tier"
buildConfigField "String", "URL", "\"http://glapp/live.php\""
buildConfigField "boolean", "ENABLE_DEBUG", "false"
applicationId = "com.abc.glnewapp.prod"
resValue "string", "app_name", "GL Live"
}
}
然后选择构建变体来构建apk作为varient 您可以根据需要添加多种面粉(不同的面包)。
您可以通过在src目录下的falour name文件夹中添加相同的res结构来更改app图标和其他drawable。此外,如果您发现任何与谷歌json相关的问题,那么只需在src-> productflavour中复制google json文件
有关详细信息,请访问at
答案 4 :(得分:0)
您无法以编程方式更改包名称。因此,唯一的解决方案是手动更改并创建 apk 。
答案 5 :(得分:0)
要更改包名称,您可以执行以下操作:
您需要复制该项目。右键单击其中一个,选择“Android工具 - >重命名应用程序包”
希望得到这个帮助。
答案 6 :(得分:0)
我实际上使用apktool来反编译apk,然后使用一些Perl脚本编辑smali文件来更改包名称。