我有一个android项目,我需要创建多个apks。每个apk之间的唯一区别是包名(例如com.my.package.name)和应用程序字符串名,以便我可以在一台设备上安装该应用程序的多个实例。有没有更好的方法来做到这一点?我想过创建一个图书馆项目,但我认为这样做可能更简单。如何从一个项目创建多个apks?
4
A
回答
0
我实际使用apktool反编译APK,然后编辑使用一些Perl脚本的smali文件更改软件包名称。
0
您无法以编程方式更改包名称。所以唯一的解决方案是手动更改并创建apk。
1
0
要改变,你可以做到这一点的包名:
你需要复制的项目。右键单击其中一个,选择“Android工具 - >重命名应用程序包”
希望得到这个帮助。
+0
我已经在eclipse中完成了这项工作。我宁愿做一些事情来自动化它,而不是改变包名30次不同的时间,然后建立另一个apk。 – squistbe
1
您可以尝试新的Android构建系统。这里有一些链接
- http://tools.android.com/tech-docs/new-build-system
- http://tools.android.com/tech-docs/new-build-system/build-system-concepts
- http://tools.android.com/tech-docs/new-build-system/using-the-new-build-system
您可以自定义以下属性:
- 的minSdkVersion
- targetSdkVersion
- 的versionCode
- 的versionName
- 包名(覆盖从清单值)
- 等。
2
你可以把你的主代码库,并构建有多个APK产生多个兄弟项目:
我测试了这一点,并为容易得多比我第一个念头: https://stackoverflow.com/a/9971543/305135
1
你可以在app级别的gradle中使用productFlavors。
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按照为变体光盘 你可以把你想要的许多面粉(不同的APK)。
您可以通过src目录下falour名称的文件夹添加相同的资源结构发生变化的应用程序图标和其他可绘制。此外,如果你找到相关的谷歌JSON任何问题,那么就在SRC-> productflavour
复制谷歌JSON文件欲了解更多信息请访问at
相关问题
- 1. 如何用单个密钥库创建多个口味apks android
- 2. 如何一次安装多个apks?
- 3. 如何创建多个Meteor项目?
- 4. 如何从一个elixir项目创建一个exe文件
- 5. 如何从多个Android项目创建单个应用程序
- 6. 如何使用一个项目创建多个应用程序
- 7. 如何用C++中的一个类创建多个项目?
- 8. 如何从多个项目构建rpm
- 9. 如何创建一个C项目?
- 10. 如何创建一个Cocos2d项目
- 11. 如何创建一个Bootstrap Sass项目
- 12. 如何创建一个SVN Maven项目?
- 13. 如何创建一个项目Shell
- 14. Android Market多个apks
- 15. 我可以从一个项目创建多个dll吗?
- 16. 调试 - Rails从一个项目创建多个订单
- 17. 从一个python项目创建多个deb包
- 18. 如何从多个项目建立一个DLL
- 19. 如何从一个Xcode项目创建多个iOS应用程序?
- 20. 如何强制多个项目从一个项目在cruisecontrol.net
- 21. 创建一个maven项目
- 22. 创建一个twitter项目
- 23. 创建一个Laravel项目
- 24. 从两个apks /模块创建单个apk
- 25. 如何从python列表中创建多个项目
- 26. 在一个解决方案中从多个项目创建一个NuGet包
- 27. 如何为一个项目创建一个IEnumerable列表?
- 28. SCRAPY - 如何创建一个带有Scarpy项目时设置项目创建
- 29. Laravel:如何使用另一个项目的composer.json创建一个新项目
- 30. 如何从Google Appengine Java项目中创建一个jar文件
嗨!我想知道我应该编辑哪些文件,如果我想从相同的源码(测试版)制作不同的APK。我不能重命名包名,因为我使用了guice,它变得疯狂:\ – Karoly