我开发了一款具有3种不同风格的Android应用程序(生产,测试,培训)。几乎99%的源代码都是相同的。在每个flavor的assert文件夹中,只有一个文件与服务器URL是不同的。口味完美。但我希望该应用程序在设备中安装所有3个应用程序而不会互相覆盖。由于项目的包名称对于所有口味都是相同的,因此当我安装差异口味时它会覆盖应用程序。
有任何想法或建议吗?提前致谢。
答案 0 :(得分:1)
无论如何只需更改build.gradle中的包名称即可。
productFlavors {
production {
applicationId = "<your-package-surfix>.production"
}
testing {
applicationId = "<your-package-surfix>.testing"
}
training {
applicationId = "<your-package-surfix>.training"
}
}
在AndroidManifest.xml中,在定义活动/服务/接收器时使用完整包名称。