我寫了一個不使用依賴或模塊的Android應用程序,只有一個活動,並且有一個佈局文件。如何在命令行上無需Gradle創建Android apk?
如何在不使用Gradle(或其他「構建系統」或「依賴管理」軟件)的情況下在命令行上構建我的應用程序的apk文件?
我寫了一個不使用依賴或模塊的Android應用程序,只有一個活動,並且有一個佈局文件。如何在命令行上無需Gradle創建Android apk?
如何在不使用Gradle(或其他「構建系統」或「依賴管理」軟件)的情況下在命令行上構建我的應用程序的apk文件?
使用以下步驟要手動構建你的apk,如果你不想用ant/gralde來構建。但您至少必須安裝Android SDK。
從aapt
使用javac
創建R.java
所有Java源代碼編譯到*.class
使用dx
把所有*.class
到dex
文件,如輸出爲classes.dex
創建來自資產的APK的初始版本,資源和AndroidManfiest.mk
,e。克輸出是MyApplication.apk.unaligned
使用aapt
添加classes.dex
在步驟3中生成的MyApplication.apk.unaligned
使用的jarsigner簽署MyApplication.apk.unaligned
與調試或釋放鍵
使用zipalign
對準最終APK,例如輸出是MyApplication-debug.apk
或MyApplication-release.apk
如果用釋放密鑰簽名
完成
我創建了一個示例腳本做上述所有的東西,看here
事實上,一些文章討論過這個話題,請參閱以下鏈接。
https://www.apriorit.com/dev-blog/233-how-to-build-apk-file-from-command-line
https://spin.atomicobject.com/2011/08/22/building-android-application-bundles-apks-by-hand/
謝謝,那正是我想知道的!漂亮的shell腳本,也感謝文章。 – aoeu
簡短的回答是: 你無法
而且長:
創建apk文件的過程並不像接縫容易。 https://developer.android.com/studio/build/index.html
您不僅需要:
但好做很多,一個,我真的mean it
有一點。
在哪裏,如果ü使用Android工作室
更妙的是你可以使用簡單的命令來執行這些任務
./gradlew assembleRelease
alijandro了一份完美的答卷。我設法編寫了簡單的ANT腳本,該腳本使用AdMob構建生產APK並且無需使用Gradle。一對夫婦有用的意見:
如果你想混淆你必須罐子(javac
和dx
步驟之間)編譯的類類和在其上運行proguard
對於AdMob
你必須提取以下從ZIP檔案罐(如 C:\Users\<User>\AppData\Local\Android\sdk\extras\google\m2repository\com\google\android\gms\play-services-ads\10.2.6\play-services-ads-10.2.6.aar
):
這些檔案也應傳遞javac
和dx
AdMob
有幾個附加的簡單配置步驟以及Gradle
做了很多與機器人項目亂,所以自己的腳本看起來像單一溶液即將投入生產的項目
如果您不喜歡Gradle,您可以查看另一個構建系統(例如Maven,Buck)。如果這不是問題......避免Gradle的原因是什麼? – CommonsWare
我不想要構建系統。我想建立。 – aoeu
構建一個Android應用程序[涉及大量工作](http://tools.android.com/tech-docs/new-build-system/build-workflow)。該頁面上的圖表將幫助您根據涉及的不同工具和部分開始工作。 – CommonsWare