`
MyEyeOfJava
  • 浏览: 1125106 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:70181
533896eb-dd7b-3cde-b4d3-cc1ce02c1c14
晨记
浏览量:0
社区版块
存档分类
最新评论

[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?
分享到:
评论

相关推荐

    cthulhu:自动化系统,可同时在多个Android设备上运行测试应用

    使用以下命令行运行已编译的项目: $ java -jar android-testing-1.0-SNAPSHOT.jar -a $ apk -p [APP软件包] -c [APP软件包]。[APP活性] -d [APP位置] -x [ADB位置] / adb 该项目是由Creative Mobile( )为开源...

    Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解

    随着工程越来越复杂,项目越来越多,以及平台的迁移(我最近就迁了2回),还有各大市场的发布,自动化编译android项目的需求越来越强烈,后面如果考虑做持续集成的话,会更加强烈。 经过不断的尝试,在ubuntu环境下,...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    androidPackDemo:android应用程序自动化打包demo

    以前了解一些自动化打包,最近要分享,根据和一些参考文档,做一下简单的总结,简单做了张图,知识点文章都会介绍到。 build生成apk方式 1.android sutidio菜单栏,build-》生成签名的apk随后可以选择编译方式和产品...

    auto-cocos:一键打包cocos工程的Android包

    所以不能用Cocos Creator直接编译生成apk,一般的操作会先用Cocos Creator生成一个安卓工程,然后将安卓工程复制到另一个目录,然后安卓工程添加所需要的功能,再用Android Studio来打包apk。需要用到资源更新时,用...

    Android开发资料合集-World版!

    9.86、ANDROID自动化测试初探 324 9.86.1、捕获Activity上的Element 324 9.86.2、Hierarchyviewer 捕获Element的 328 9.86.3、架构实现 330 9.86.4、模拟键盘鼠标事件(Socket+Instrumentation实现) 332 9.86.5、再...

    Android 开发技巧

    9.86、ANDROID自动化测试初探 324 9.86.1、捕获Activity上的Element 324 9.86.2、Hierarchyviewer 捕获Element的 328 9.86.3、架构实现 330 9.86.4、模拟键盘鼠标事件(Socket+Instrumentation实现) 332 9.86.5、再...

    网狐荣耀版开发使用常见问题解答

    十三、网狐荣耀版android编译时出现“未找到工程,Android 目标平台版本应该大于或等于 21” 这个是因为sdk版本设置问题造成的,设置正确相应的sdk版本,就可以了。 十四、网狐荣耀版微信登录没有反应失败的解决...

    bmi160调通bmi160的ACC+GYR_20160907.7z

    android使用ENG模式编译,方便调试之用。 wenyuanbo@cm-System-Product-Name:/home/wwt/r58_bma250/lichee$ ./build.sh config Welcome to mkscript setup progress All available chips: 4. sun8iw6p1 Choice: 4...

Global site tag (gtag.js) - Google Analytics