Ubuntu下手動生成Android Apk命令流程

參考自:http://blog.csdn.net/chenkai19920410/article/details/60589100?utm_source=tuicool&utm_medium=referral

參考文章基于Mac,命令行一些地址有微小差異,下面是我在ubuntu下的操作流程

首先New一個HelloWorld工程,復(fù)雜的項目可能有其他問題.熟悉這一流程在HelloWorld工程是最方便的

(自定義保存編譯結(jié)果的目標目錄)

root@xwpengCP:/home/xwpeng/AndroidStudioProjects/HandPackApk# mkdir -p ./app/src/main/{gen,build,out}

(aapt"Android Asset Packaging Tool"工具生成R.java)

root@xwpengCP:~/Android/Sdk/build-tools/25.0.0# ./aapt package -f -M /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/AndroidManifest.xml -I /root/Android/Sdk/platforms/android-25/android.jar -S /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/res/ -J /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/gen/ -m

styles.xml需要改一下:

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="@android:style/Theme.Black.NoTitleBar">
        <!-- Customize your theme here. -->
<!--        <item name="colorPrimary">@android:@colorcolorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>-->
    </style>
</resources>

生成的R.java在我們自定義的gen目錄下

(編譯java文件)

javac -source 1.7 -target 1.7 -encoding UTF-8 -bootclasspath /root/Android//Sdk/platforms/android-25/android.jar -d /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/build/ /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/java/android/xwpeng/handpackapk/*.java /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/gen/android/xwpeng/handpackapk/*.java 

生成的class文件在builder目錄

(dx將class文件打包成.dex)

root@xwpengCP:~/Android/Sdk/build-tools/25.0.0# ./dx --dex --output=/home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/build/classes.dex  /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/build/

(將資源文件打包成res.apk)

./aapt package -f -M /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/AndroidManifest.xml -I /root/Android/Sdk/platforms/android-25/android.jar -S /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/res/ -F /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/out/res.apk

生成的res.apk在out目錄

(生成apkbuilder工具)

root@xwpengCP:~/Android/Sdk/tools#  cat android | sed -e 's/com.android.sdkmanager.Main/com.android.sdklib.build.ApkBuilderMain/g' > apkbuilder

(改變權(quán)限)

root@xwpengCP:~/Android/Sdk/tools# chmod +x apkbuilder

(用apkbuilder將dex打進res.apk生成app.apk)

root@xwpengCP:~/Android/Sdk/tools# ./apkbuilder  /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/out/app.apk -v -u -z /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/out/res.apk -f /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/build/classes.dex

(簽名)
默認的debug簽名文件路徑/root/.android/debug.keystore

root@xwpengCP:~/.android# jarsigner -verbose -keystore /root/.android/debug.keystore -storepass android -keypass android  /home/xwpeng/AndroidStudioProjects/HandPackApk/app/src/main/out/app.apk androiddebugkey
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容