android自動化測試六之命令列編譯APK
手動編譯你的apk,可以讓資源目錄不命名為res, 你能夠命名任何你想要的名字。
你可以在以下目錄發現ant指令碼: <SDK_HOME>/platforms/android-1.5/templates/android-rules.xml
第一步: 產生R檔案以及包資源
aapt package -f -M ${manifest.file} -F ${packaged.resource.file} -I ${path.to.android-jar.library} -S ${android-resource-directory} [-m -J ${folder.to.output.the.R.java}]
第二步:編譯java原始檔以及R.java檔案
use javac
第三步:將classes檔案轉化成Dalvik自節碼
use dx.bat
dx.bat –dex –output=${output.dex.file} ${compiled.classes.directory} ${jar files..}
第四步:建立未簽名的apk
use apkbuilder
apkbuilder ${output.apk.file} -u -z ${packagedresource.file} -f ${dex.file}
or
apkbuilder ${output.apk.file} -u -z ${packagedresource.file} -f ${dex.file} -rf ${source.dir} -rj ${libraries.dir}
-rf = resources required for compiled source files?
-rj = resources required for jar files
第六步: 產生一個key
use keytool
第七步驟: 對APK進行簽名
use jarsigner
jarsigner -keystore ${keystore} -storepass ${keystore.password} -keypass ${keypass} -signedjar ${signed.apkfile} ${unsigned.apkfile} ${keyalias}
第八步: 釋出
use adb
adb -d install -r ${signed.apk}
Inspecting your APK file:
aapt list -v latest.apk
Open questions:
1. Can you include more than one dex file in the apk?
2. Can you have dex file named other than classes.dex in the apk?
3. Does an apk have to have a packaged resource?
你可以在以下目錄發現ant指令碼: <SDK_HOME>/platforms/android-1.5/templates/android-rules.xml
第一步: 產生R檔案以及包資源
aapt package -f -M ${manifest.file} -F ${packaged.resource.file} -I ${path.to.android-jar.library} -S ${android-resource-directory} [-m -J ${folder.to.output.the.R.java}]
第二步:編譯java原始檔以及R.java檔案
use javac
第三步:將classes檔案轉化成Dalvik自節碼
use dx.bat
dx.bat –dex –output=${output.dex.file} ${compiled.classes.directory} ${jar files..}
第四步:建立未簽名的apk
use apkbuilder
apkbuilder ${output.apk.file} -u -z ${packagedresource.file} -f ${dex.file}
or
apkbuilder ${output.apk.file} -u -z ${packagedresource.file} -f ${dex.file} -rf ${source.dir} -rj ${libraries.dir}
-rf = resources required for compiled source files?
-rj = resources required for jar files
第六步: 產生一個key
use keytool
第七步驟: 對APK進行簽名
use jarsigner
jarsigner -keystore ${keystore} -storepass ${keystore.password} -keypass ${keypass} -signedjar ${signed.apkfile} ${unsigned.apkfile} ${keyalias}
第八步: 釋出
use adb
adb -d install -r ${signed.apk}
Inspecting your APK file:
aapt list -v latest.apk
Open questions:
1. Can you include more than one dex file in the apk?
2. Can you have dex file named other than classes.dex in the apk?
3. Does an apk have to have a packaged resource?
相關文章
- Android 自動化測試之 MonkeyAndroid
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- Gluon 編譯 JavaFx -> android apk編譯JavaAndroidAPK
- Appium自動化測試之常用的adb命令APP
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- 面試Tip:Android優化之APK瘦身面試Android優化APK
- Android 談談自動化測試Android
- 六大自動化測試技巧
- android 反編譯APK取原始碼。Android編譯APK原始碼
- 【編測編學】自動化測試面試必背(上)面試
- 【編測編學】自動化測試面試必背(下)面試
- Web自動化-Selenium自動化測試-4-編寫測試用例Web
- 測試開發之自動化篇-自動化測試框架設計框架
- Android APK反編譯技巧全講解AndroidAPK編譯
- Android自動化測試入門(四)單元測試Android
- UI自動化測試之AirtestUIAI
- 自動化測試系列 —— UI自動化測試UI
- android 5個自動化測試Ui框架AndroidUI框架
- AutoRunner 功能自動化測試專案實訓之自動化測試原理(一)
- iOS自動化編譯打包iOS編譯
- 【自動化測試入門】自動化測試思維
- web自動化測試框架-06 如何快速編寫自動化指令碼Web框架指令碼
- 前端自動化測試之葵花寶典前端
- Android 編譯優化Android編譯優化
- Android studio 自動複製生成的 apkAndroidAPK
- 自動化裝置測試與自動化測試的區別
- 如何做自動化測試?什麼是自動化測試?
- 軟體測試:自動化測試
- Android Apk反編譯系列教程(三)Android Studio除錯smali程式碼AndroidAPK編譯除錯
- appium 能打包成 apk,啟動這個 apk 就能調起待測 app 自動化麼APPAPK
- airTest自動化測試AI
- selenium自動化測試
- 自動化測試篇
- python自動化測試Python
- API自動化測試API
- 自動化測試框架框架
- 自動化測試理解
- 自動化測試思路
- jest 自動化測試