《ANT、keystore制作 、签名.docx》由会员分享,可在线阅读,更多相关《ANT、keystore制作 、签名.docx(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、ANT、keystore制作 、签名一、ANT学习:一,准备antant 官网可下载http:/ant.apache.org/ant 环境配置:1。解压ant的包到本地目录。2。在环境变量中设置ANT_HOME,值为你的安装目录。3。把ANT_HOME/bin加到你系统环境的path。二,详细步骤和说明,这里我们要知道一些Android命令。前提条件已配置好android sdk 环境,所以可以在任意目录下执行android 命令,不然则要切换到 android-sdktools目录下1.创建一个android项目参数说明:-k /-package 为命名空间(包名)-a /-name 工程名
2、-p /-path 项目 -t 为目标平台的版本编号例如:C:Documents and SettingsAdministratorandroid create project -k com.android.Tank -a Tank -t 4 -p F:tank列出不同版本平台的对应id编号 android.bat list targets /android list例如:C:Documents and SettingsAdministratorandroid.bat list targets对已经存在的android工程,我们可以update下(修改平台的版本),这样会自动添加build.x
3、ml 等ant 的配置文件例如:D:Devandroid-sdk-windowstoolsandroid update project -n LHCLottery -t 4 -p F:LHCLotteryUpdated default.propertiesUpdated local.propertiesAdded file F:LHCLotterybuild.xmlAdded file F:LHCLotteryproguard.cfg编译:直接ant 是不会有文件输出的,所以后面一定要带上参数ant 参数如下: * debug:带调试用签名的构建 * release:构建应用程序,生成的apk
4、必须签名才可以发布 * install:安装调试构建的包到运行着的模拟器或者设备; * reinstall * uninstall开始执行编译:切换到工程目录下:E:MyLiBAndroidAndroidAntMyBoardCastReciver例如(生成调试版本):E:MyLiBAndroidAndroidAntMyBoardCastReciverantdebug例如(生成未签名版本):E:MyLiBAndroidAndroidAntMyBoardCastReciverantrelease参考:二、keystore制作Apk签名首先要有一个keystore的签名用的文件。keystore是由
5、jdk自带的工具keytool生成的。具体生成方式参考:开始-运行-cmd-cd到你安装的jdk的目录里,我的是C:Program FilesJavajdk1.6.0_10bin然后输入:keytool -genkey -alias asaiAndroid.keystore -keyalg RSA -validity 20000 -keystore asaiAndroid.keystore-alias 后面跟的是别名这里是 asaiAndroid.store-keyalg 是加密方式这里是RSA-validity 是有效期 这里是20000-keystore 就是要生成的keystore的名称
6、 这里是asiAndroid.keystore/*说明:-genkey 产生密钥-alias demo.keystore 别名 demo.keystore-keyalg RSA 使用RSA算法对签名加密-validity 40000 有效期限4000天-keystore demo.keystore */然后按回车键按回车后首先会提示你输入的密码:这个在签名时要用的,要记住然后会再确认你的密码。之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码(CN)等。参考:三、开始签名。在 C:Program FilesJavajdk1.6.0_10bin 还提供一个工具 jarsig
7、ner.exe运行命令给APK签名:jarsigner -verbose -keystore asaiAndroid.keystore -signedjar Lotteryonline_signed.apk LotteryOnline.apk asaiAndroid.keystore-keystore: keystore的名称LotteryOnline_signed.apk: 签名后的APKLotteryOnline.apk: 签名前的APK/*说明:-verbose 输出签名的详细信息-keystore demo.keystore 密钥库位置-signedjar demor_signed.a
8、pk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/然后按回车:会要求输入刚才设置的密码,输入后按回车就开始签名了。参考:打包的主要步骤:1生成R.java类文件:利用ant和命令行使用android SDK提供的aapt.ext程序生成R.java。2将.aidl文件生成.java类文件:利用ant和命令行使用android SDK提供的aidl.exe生成.java文件。3第三步 编译.java类文件生成class文件:利用ant和命令行使用jdk的java
9、c编译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和命令
10、行使用jdk的jarsigner对未签名的包进行apk签名。8第八步 安装和卸载APK文件,利用ant命令行使用Android SDK提供的adb.exe。参考:使用ant优化android项目编译速度 提高工作效率在通常的Android大中型项目开发中,使用Eclipse进行android项目的开发有如下不便之处:1、Android项目编译周期长,编译项目命令取消困难2、在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作3、在只进行资源文件的修改时,Eclipse对资源文件的修改会导致整个项目的编译,在无法打开自动编译模式下,极为不便对项目进行分包处理后,andr
11、oid编译速度极慢。对于我们现在的项目,在未进行分包时编译一次大约需要4、5分钟而有时候你只是简单的修改了一下java文件。进行分包后,编译整个项目时长达到10分以上,有时甚至造成eclipse假死严重的损耗了工作时间和降低工作效率。对于一个android项目而言,其编译流程大致如下 针对现在生成项目速度慢的状况,发现android 项目编译时对资源文件的操作占大量时间。Eclipse默认编译流程会有两次aapt调用。每次时间约四分钟。针对我们进行android项目开发时的经验,有以下几种情况:1、频繁更改资源文件,在类中需要引用资源但不用生成apk2、频繁修改java类文件,资源文件不变,需
12、要生成apk3、次数很少的同时修改资源文件和java类文件,同时生成apk使用ant build 脚本实现将二次资源文件的操作分开,可以良好改善编译速度,提高工作效率(至少一半)。在ant脚本编译模式下,对于以上三种情况:1、在只有资源文件更改的情况 :使用命令 ant generateR 只更新R文件 耗时 约4mins2、在没有更新资源文件后,只修改JAVA类,使用 ant simpledebug 忽略资源文件R引用的更新,并打包 耗时 约5mins3、更新了资源文件,又修改了JAVA文件想立即打包则使用ant debug 此为Eclipse默认模式,时长 大约10minus -_-|详细
13、参考:ANT学习、keystore制作,APK签名(二)今天研究了下build.xml,简单总结下。收获:1、修改build.properties文件,例如:# source.dir for the location of your java source folder and# out.dir for the location of your output folder.# You can also use it define how the release builds are signed by declaring# the following properties:# key.stor
14、e for the location of your keystore and# key.alias for the name of the key to use.# The password will be asked during the build when you use the release target.#sdk路径,签名路径,密码等key.store=F:/android123.keystorekey.alias=android123key.store.password=key.alias.password=然后运行命令:ant release直接生成签名的安装包。2、发现一个
15、奇怪问题用keytool制作keystore,然后配置上面说到的文件,发现总是报错:找不到证书链。然而用signjar签名去签名,貌似又没问题,不知道为什么。用eclipse制作的key,然后配置上面说到的文件,又没问题。注意一点:keytool制作的key文件都有后缀(.keystore);eclipse制作的key文件没有意外收获:setup WARNING: No minSdkVersion value set. Application will install on allAndroid versions.为什么我的jdk1.6 安装完之后不用配置环境变量就可以在dos下运行java命
16、-用jdk的安装向导安装的时候 ,会自动把java.exe等几个文件复制到windows目录下,windows目录本来就是在path里的Android Ant$appName$appPackage$sdk-folder$sdk-tools$sdk-platform-folder$sdk-platform-tools$aapt$aidl$dx$apkbuilder$jarsigner$zipalign$adb$outdir-gen$outdir-bin$outdir-classes$outdir-classes-ospath$resource-dir$assets-dir$android-man
17、ifest-xml$android-jar$android-maps-jar$framework-aidl$srcdir$srcdir-ospath$external-lib$external-lib-ospath$proguard-dir$proguard-lib$unoptimized$optimized$dex-file$dex-path$dex-ospath$resources-package$resources-package-ospath$out-unsigned-package$out-unsigned-package-ospath$keystore-file$out-signed-package$out-signed-package-ospath$out-zipalign-package$out-zipalign-package-ospath初始化文件夹.初始化文件夹完成.生成R.java文件.R.java文件生成完成.开始编译.aidl文件为.java文件.aidl文件编译完成.编译Java源文件.Java源文件编译完成.开始进行代码混淆.代码混淆完成.编译文件和引用类库转化为.dex文件.dex文件转换完成.开始转化资源文件.资源文件转化完成.开始打包未签名程序.
限制150内