apk打包基础知识

来源:技术人生 责任编辑:栏目编辑 发表时间:2013-07-01 12:39 点击:
今天自己研究出apk打包,跟大家一起共勉。
aapt package -m -J src -M AndroidManifest.xml -S res -I android.jar 
//这句命令主要是重新自动生成R.java文件,比如增加个图片或者字符串或者增加个layout目录xml文件
mkdir D:\testapk\classes
 //这句命令是创建个编译*.java源文件输出*.class存放的目录,文件夹名可以随便命名.
javac D:\testapk\src\aimoxiu\theme\moxiutheme\*.java -classpath D:\testapk\android.jar -d D:\testapk\classes\
//这句命令是调用javac工具编译源代码,因此想编译得确保目标计算机已经安装JDK,输出存放的目录是刚才创建的目录
cd D:\testapk\classes
jar cvf aimoxiu.jar *.* //这句命令是把目录下*.class文件打成jar包,为了后面能够创建apk需要的classes.dex文件
cd..
dx --dex --output=classes.dex D:\testapk\classes\aimoxiu.jar  //这句命令把刚才的jar包转换成android手机能够运行的dex文件
CreateApk.bat文件内容:
aapt package -z -u -x -f -M AndroidManifest.xml -S res -I android.jar -F moxiu.apk   //这句命令生成应用程序apk文件
aapt add moxiu.apk classes.dex  //这句命令把前面生成的classes.dex文件压缩到apk文件,最终生成可运行的apk应用程序
java -jar signapk.jar aimoxiu.x509.pem aimoxiu.pk8 moxiu.apk moxiu_theme.apk  //这句命令是给生成的apk进行自动签名,无签名的apk是无法安装。因此一个android应用程序apk最终出炉啦!
del moxiu.apk /q  //删除刚才生成的无签名的apk文件

Windows操作系统实现不用Eclipse工具实现apk程序编译及打包使用该工具,本人已经测试通过,生成的apk文件也能在android真机上运行,工具见附件
Linux操作系统实现也没任何问题,只要命令进行稍微处理即可!
 
 
aapt:
aapt是Android Asset Packaging Tool的首字母缩写,这个工具包含在SDK的tools/目录下。查看、创建、更新与zip兼容的归档文件(zip、jar、apk)。它也能将资源文件编译成二进制包。
尽管你可能不会经常直接使用appt,但是构建脚本(build scripts)和IDE插件会使用这个工具打包apk文件,构成一个Android应用程序。
如需更详细的使用细节,打开一个终端,进入tools/目录下,运行命令:
Linux或Mac操作系统:./aapt
Windows:aapt.exe
注意:tools/目录是指android SDK目录下的/platforms/android-X/tools/
 
 
 

本文出自 “技术人生” 博客,请务必保留此出处http://zhaohaiyang.blog.51cto.com/2056753/486598

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Android 完全退出程序
      • 原创:Android应用开发-Andorid歌词秀,含源码
      • android 屏幕保护
      • Android手机软件汉化教程---第四课 dex文件汉化
      • 众多Android 开源项目推荐,给力工作给力学习
      • Android Audio代码分析4
      • Android得到已安装的应用程序信息!
      • Android开发者指南(29) —— USB Host and Accessory
      • Android成长的幕后推手:工程师鲁宾
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1