[android]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
- Gluon 編譯 JavaFx -> android apk編譯JavaAndroidAPK
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- Android 談談自動化測試Android
- 面試Tip:Android優化之APK瘦身面試Android優化APK
- android 反編譯APK取原始碼。Android編譯APK原始碼
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- Android APK反編譯技巧全講解AndroidAPK編譯
- android 5個自動化測試Ui框架AndroidUI框架
- Android自動化測試入門(四)單元測試Android
- Android 編譯優化Android編譯優化
- Android Apk反編譯系列教程(三)Android Studio除錯smali程式碼AndroidAPK編譯除錯
- Android studio 自動複製生成的 apkAndroidAPK
- Android之Apk加殼AndroidAPK
- Appium自動化測試之常用的adb命令APP
- [譯] Android效能優化:APK瘦身方式大彙總Android優化APK
- Android UXSS階段性小結及自動化測試AndroidUX
- Android FrameWork 之原始碼編譯AndroidFramework原始碼編譯
- QT5.12.2部署Android環境和編譯apkQTAndroid編譯APK
- Android之重新簽名APKAndroidAPK
- [譯] Android 上一次編寫,隨處測試Android
- android反編譯相關命令總結Android編譯
- 六大自動化測試技巧
- Android自動化測試第二篇 Appnium環境搭建AndroidAPP
- Android Apk 檔案反編譯和重新打包的過程分析AndroidAPK編譯
- 【編測編學】自動化測試面試必背(上)面試
- 【編測編學】自動化測試面試必背(下)面試
- Web自動化-Selenium自動化測試-4-編寫測試用例Web
- 編譯Android下可執行命令的FFmpeg編譯Android
- Assimp Android 編譯Android編譯
- android編譯方法Android編譯
- android 反編譯Android編譯
- 深圳軟體測試培訓學習:Android常用自動化測試工具【千鋒】Android
- 解放雙手 - Android 開發應該嘗試的 UI 自動化測試AndroidUI
- 測試開發之自動化篇-自動化測試框架設計框架
- libusb android ndk編譯--編譯mipsAndroid編譯
- UI自動化測試之AirtestUIAI
- 使用CMake命令編譯Android平臺下的包編譯Android
- Android加固之後Apk重簽名AndroidAPK