[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?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值