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