ANT、keystore制作 、签名

 

一、ANT学习:

一,准备ant

ant 官网可下载
http://ant.apache.org/
ant 环境配置: 
1。解压ant的包到本地目录。 
2。在环境变量中设置ANT_HOME,值为你的安装目录。 
3。把ANT_HOME/bin加到你系统环境的path。

二,详细步骤和说明,这里我们要知道一些Android命令。

前提条件已配置好android sdk 环境,所以可以在任意目录下执行android 命令,不然则要切换到 android-sdk\tools目录下

1.创建一个android项目 
参数说明:
-k /--package 为命名空间(包名)-a /--name 工程名 
-p /--path 项目 -t 为目标平台的版本编号

例如:
C:\Documents and Settings\Administrator>android create project -k com.android.Tank -a Tank -t 4  -p F:\tank

 

列出不同版本平台的对应id编号 android.bat list targets /android list
例如:C:\Documents and Settings\Administrator>android.bat list targets

 

对已经存在的android工程,我们可以update下(修改平台的版本),这样会自动添加build.xml 等ant 的配置文件
例如:
D:\Dev\android-sdk-windows\tools>android update project -n LHCLottery -t 4 -p F:\LHCLottery
Updated default.properties
Updated local.properties
Added file F:\LHCLottery\build.xml
Added file F:\LHCLottery\proguard.cfg

编译:直接ant 是不会有文件输出的,所以后面一定要带上参数
ant 参数如下:

    * debug:带调试用签名的构建
    * release:构建应用程序,生成的apk必须签名才可以发布
    * install:安装调试构建的包到运行着的模拟器或者设备;
    * reinstall
    * uninstall

开始执行编译:切换到工程目录下:E:\MyLiB\Android\AndroidAnt\MyBoardCastReciver

例如(生成调试版本):E:\MyLiB\Android\AndroidAnt\MyBoardCastReciver>ant debug
例如(生成未签名版本):E:\MyLiB\Android\AndroidAnt\MyBoardCastReciver>ant release 

参考:http://www.cnblogs.com/tankaixiong/archive/2010/11/24/1887156.html


二、keystore制作 
Apk签名首先要有一个keystore的签名用的文件。 
keystore是由jdk自带的工具keytool生成的。 
具体生成方式参考: 
开始->运行->cmd->cd到你安装的jdk的目录里,我的是C:\Program Files\Java\jdk1.6.0_10\bin 
然后输入: 
keytool -genkey -alias asaiAndroid.keystore -keyalg RSA -validity 20000 -keystore asaiAndroid.keystore 
-alias 后面跟的是别名这里是 asaiAndroid.store 
-keyalg 是加密方式这里是RSA 
-validity 是有效期 这里是20000 
-keystore 就是要生成的keystore的名称 这里是asiAndroid.keystore 

/*说明:-genkey 产生密钥
       -alias demo.keystore 别名 demo.keystore
       -keyalg RSA 使用RSA算法对签名加密
       -validity 40000 有效期限4000天
       -keystore demo.keystore */
然后按回车键 
按回车后首先会提示你输入的密码:这个在签名时要用的,要记住 
然后会再确认你的密码。 
之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码(CN)等。 

参考:http://zlb1986.iteye.com/blog/761340

三、开始签名。 
在 C:\Program Files\Java\jdk1.6.0_10\bin 还提供一个工具 jarsigner.exe 
运行命令给APK签名: 
jarsigner -verbose -keystore asaiAndroid.keystore -signedjar Lotteryonline_signed.apk LotteryOnline.apk asaiAndroid.keystore 
-keystore: keystore的名称 
LotteryOnline_signed.apk: 签名后的APK 
LotteryOnline.apk: 签名前的APK 

/*说明:-verbose 输出签名的详细信息
       -keystore  demo.keystore 密钥库位置
       -signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/

然后按回车:会要求输入刚才设置的密码,输入后按回车就开始签名了。 

参考:http://www.cnblogs.com/qianxudetianxia/archive/2011/04/09/2010468.html

打包的主要步骤:

1生成R.java类文件:利用ant和命令行使用android SDK提供的aapt.ext程序生成R.java。
2将.aidl文件生成.java类文件:利用ant和命令行使用android SDK提供的aidl.exe生成.java文件。
3第三步 编译.java类文件生成class文件:利用ant和命令行使用jdk的javac编译java类文件生成class文件。
4第四步 将class文件打包生成classes.dex文件:利用ant命令行使用android SDK提供的dx.bat命令行脚本生成classes.dex文件。
5第五步 打包资源文件(包括res、assets、androidmanifest.xml等):ant命令行使用Android SDK提供的aapt.exe生成资源包文件。
6第六步 生成未签名的apk安装文件:ant和命令行使用android SDK提供的apkbuilder.bat命令脚本生成未签名的apk安装文件。
7第七步 对未签名的apk进行签名生成签名后的android文件:ant和命令行使用jdk的jarsigner对未签名的包进行apk签名。
8第八步 安装和卸载APK文件,利用ant命令行使用Android SDK提供的adb.exe。

参考:http://blog.csdn.net/kkdelta/article/details/6672712

使用ant优化android项目编译速度 提高工作效率

在通常的Android大中型项目开发中,使用Eclipse进行android项目的开发有如下不便之处:
  1、Android项目编译周期长,编译项目命令取消困难
  2、在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作
  3、在只进行资源文件的修改时,Eclipse对资源文件的修改会导致整个项目的编译,在无法打开自动编译模式下,极为不便
  对项目进行分包处理后,android编译速度极慢。
  对于我们现在的项目,在未进行分包时编译一次大约需要4、5分钟而有时候你只是简单的修改了一下java文件。。。
  进行分包后,编译整个项目时长达到10分以上,有时甚至造成eclipse假死
  严重的损耗了工作时间和降低工作效率。
针对现在生成项目速度慢的状况,发现android 项目编译时对资源文件的操作占大量时间。
  Eclipse默认编译流程会有两次aapt调用。每次时间约四分钟。
  针对我们进行android项目开发时的经验,有以下几种情况:
  1、频繁更改资源文件,在类中需要引用资源但不用生成apk
  2、频繁修改java类文件,资源文件不变,需要生成apk
  3、次数很少的同时修改资源文件和java类文件,同时生成apk
  使用ant build 脚本实现将二次资源文件的操作分开,可以良好改善编译速度,提高工作效率(至少一半)。在ant脚本编译模式下,对于以上三种情况:
  1、在只有资源文件更改的情况 :使用命令 ant generateR 只更新R文件 耗时 约4mins
  2、在没有更新资源文件后,只修改JAVA类,使用 ant simpledebug 忽略资源文件R引用的更新,并打包 耗时 约5mins
  3、更新了资源文件,又修改了JAVA文件想立即打包则使用ant debug 此为Eclipse默认模式,时长 大约10minus -_-|

详细参考:http://www.hackvip.com/mobiwen/html/Mobile_250550.html
http://bbs.gfan.com/thread-855274-1-1.html

注:以上内容来源csdn网友.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章