我有一個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