我想以編程方式從給定路徑創建APK文件到目錄(其中包含Java源代碼)。我知道這可以通過使用android工具的命令行完成,但是如何使用Java代碼完成?如何以編程方式將文件打包到APK檔案中
回答
正如我在評論指出,大部分的構建過程是通過命令行的二進制文件,你不太可能在位置移植到Java的,如javac
處理,dx
,並aapt
。
如果我在你身邊,我會考慮Gradle的IDE集成鉤子,並使用它加上合適的build.gradle
及相關文件來驅動Java代碼的構建過程。能夠使用Gradle作爲一個真正的自動化系統是Gradle for Android工作背後的關鍵之一。
否則,你所建議的是不使用任何現有的構建自動化選項爲Android(搖籃,螞蟻,Maven的,再加上Eclipse構建過程中的東西),而是建立另一個之一。如果你有幾十個開發人員和幾個月的時間,並且你想要走這條路,那麼當然歡迎你這樣做。你會想看看上述的想法實現。
我想我現在明白你的意思了,但是,由於我正在使用的項目已經使用了Maven,所以我認爲如果我堅持Maven代替Gradle 或者你會推薦使用Gradle方式嗎? – Pawan
@Pawan:I對Android的Maven支持沒有經驗,所以我不能評論它與Gradle的比較。這就是說,我相信這是一個更好的解決方案,創建自己的。 – CommonsWare
您可以請我指向Ant文件的源代碼,該文件定義瞭如何構建android apk?或者就此而言,Gradle插件? – Pawan
我有一個類似的問題,經過一番研究,我最終通過調用Java(Eclipse)的命令行,然後給出了我使用的命令作爲參數。我爲每個想要構建的項目在循環中重複了這一點,並且它工作得很好。
http://geosoft.no/development/android.html此網站顯示您可能需要遵循的在命令行中構建Android程序的每一步。我只關心.apk部分,所以第14步就夠了,但你可以檢查整個頁面。
使用APK命令在該頁面中,我創建了一個的ProcessBuilder代碼:
ProcessBuilder pb = new ProcessBuilder
(new String[] {ANDROID_HOME + "\\build-tools\\android-4.4W\\aapt.exe",
"package",
"-v",
"-f",
"-M", projectRootDirPath + "\\AndroidManifest.xml",
"-S", projectRootDirPath + "\\res",
"-I", ANDROID_HOME + "\\platforms\\android-20\\android.jar",
"-F", projectRootDirPath + "\\bin\\" + [APK_file_name] + ".apk",
projectRootDirPath + "\\bin"});
ANDROID_HOME是你的SDK路徑,projectRootDirPath是項目目錄的路徑,當然[APK_file_name]應該是合適的名稱爲您的.apk文件。
此外,您可能需要根據所使用的版本更改「android-4.4W」和「android-20」部件。
- 1. 如何將多個庫檔案(.a)打包到一個檔案文件中?
- 2. 如何以編程方式將DataReport打印到PDF文件?
- 3. 以編程方式打印文檔
- 4. 以編程方式打印HTML文檔
- 5. 以編程方式打印PDF文檔
- 6. 將文件資源打包到apk中?
- 7. 以便攜式方式以編程方式打開文檔
- 8. 以編程方式將文件上傳到Google文檔
- 9. 如何以編程方式將文件添加到解決方案?
- 10. 如何停止在android中以編程方式打開文檔和pdf文件?
- 11. 如何在iOS中以編程方式打開設備的文檔文件
- 12. 如何以編程方式在Google文檔中創建文檔?
- 13. 如何以編程方式讀取apk文件的內容?
- 14. 如何以編程方式列出Android APK文件的內容?
- 15. 如何以編程方式從Google Play下載APK文件?
- 16. 如何以編程方式安裝apk文件
- 17. 如何以編程方式將文檔保存在OpenOffice.org中?
- 18. 如何以編程方式將JasperViewer保存到文件/流中?
- 19. 以編程方式將InkPicture添加到word文檔中
- 20. 以編程方式將WPF中的xml文檔綁定到treeview
- 21. 如何以編程方式將文本插入到SWF文件
- 22. 如何以編程方式從Sharepoint文檔庫下載文件
- 23. 如何以編程方式操作本地Google文檔文件
- 24. 如何以編程方式上傳Google文檔上的文檔?
- 25. 以編程方式將docx文件轉換爲文檔
- 26. 以編程方式打印excel文件
- 27. 以編程方式打開pdf文件
- 28. 以編程方式將APK推送到系統/應用程序
- 29. 如何以編程方式將註釋插入Microsoft Word文檔?
- 30. 如何以編程方式將圖像插入Word文檔?
你想完成什麼?您無法從JAVA創建APK。 – Booger
如果您知道可以通過命令行來完成,那麼嘗試在Java中調用命令行。 –
@Booger我正在嘗試將一個目錄打包到APK存檔中。爲什麼不能完全從Java完成?這只是一個檔案,就像拉鍊一樣,對吧? – Pawan