ANTkeystore制作 签名.docx

上传人:b****4 文档编号:12245778 上传时间:2023-04-17 格式:DOCX 页数:24 大小:33.25KB
下载 相关 举报
ANTkeystore制作 签名.docx_第1页
第1页 / 共24页
ANTkeystore制作 签名.docx_第2页
第2页 / 共24页
ANTkeystore制作 签名.docx_第3页
第3页 / 共24页
ANTkeystore制作 签名.docx_第4页
第4页 / 共24页
ANTkeystore制作 签名.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

ANTkeystore制作 签名.docx

《ANTkeystore制作 签名.docx》由会员分享,可在线阅读,更多相关《ANTkeystore制作 签名.docx(24页珍藏版)》请在冰豆网上搜索。

ANTkeystore制作 签名.docx

ANTkeystore制作签名

ANT、keystore制作、签名

一、ANT学习:

一,准备ant

ant官网可下载

http:

//ant.apache.org/

ant环境配置:

 

1。

解压ant的包到本地目录。

 

2。

在环境变量中设置ANT_HOME,值为你的安装目录。

 

3。

把ANT_HOME/bin加到你系统环境的path。

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

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

1.创建一个android项目 

参数说明:

-k/--package为命名空间(包名)-a/--name工程名 

-p/--path项目-t为目标平台的版本编号

例如:

C:

\DocumentsandSettings\Administrator>androidcreateproject-kcom.android.Tank-aTank-t4 -pF:

\tank

 

列出不同版本平台的对应id编号android.batlisttargets/androidlist

例如:

C:

\DocumentsandSettings\Administrator>android.batlisttargets

 

对已经存在的android工程,我们可以update下(修改平台的版本),这样会自动添加build.xml等ant的配置文件

例如:

D:

\Dev\android-sdk-windows\tools>androidupdateproject-nLHCLottery-t4-pF:

\LHCLottery

Updateddefault.properties

Updatedlocal.properties

AddedfileF:

\LHCLottery\build.xml

AddedfileF:

\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 

参考:

二、keystore制作 

Apk签名首先要有一个keystore的签名用的文件。

 

keystore是由jdk自带的工具keytool生成的。

 

具体生成方式参考:

 

开始->运行->cmd->cd到你安装的jdk的目录里,我的是C:

\ProgramFiles\Java\jdk1.6.0_10\bin 

然后输入:

 

keytool-genkey-aliasasaiAndroid.keystore-keyalgRSA-validity20000-keystoreasaiAndroid.keystore 

-alias后面跟的是别名这里是asaiAndroid.store 

-keyalg是加密方式这里是RSA 

-validity是有效期这里是20000 

-keystore就是要生成的keystore的名称这里是asiAndroid.keystore 

/*说明:

-genkey产生密钥

       -aliasdemo.keystore别名demo.keystore

       -keyalgRSA使用RSA算法对签名加密

       -validity40000有效期限4000天

       -keystoredemo.keystore*/

然后按回车键 

按回车后首先会提示你输入的密码:

这个在签名时要用的,要记住 

然后会再确认你的密码。

 

之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码(CN)等。

 

参考:

三、开始签名。

 

在C:

\ProgramFiles\Java\jdk1.6.0_10\bin还提供一个工具jarsigner.exe 

运行命令给APK签名:

 

jarsigner-verbose-keystoreasaiAndroid.keystore-signedjarLotteryonline_signed.apkLotteryOnline.apkasaiAndroid.keystore 

-keystore:

keystore的名称 

LotteryOnline_signed.apk:

签名后的APK 

LotteryOnline.apk:

签名前的APK 

/*说明:

-verbose输出签名的详细信息

       -keystore demo.keystore密钥库位置

       -signedjardemor_signed.apkdemo.apkdemo.keystore正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/

然后按回车:

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

 

参考:

打包的主要步骤:

1生成R.java类文件:

利用ant和命令行使用androidSDK提供的aapt.ext程序生成R.java。

2将.aidl文件生成.java类文件:

利用ant和命令行使用androidSDK提供的aidl.exe生成.java文件。

3第三步编译.java类文件生成class文件:

利用ant和命令行使用jdk的javac编译java类文件生成class文件。

4第四步将class文件打包生成classes.dex文件:

利用ant命令行使用androidSDK提供的dx.bat命令行脚本生成classes.dex文件。

5第五步打包资源文件(包括res、assets、androidmanifest.xml等):

ant命令行使用AndroidSDK提供的aapt.exe生成资源包文件。

6第六步生成未签名的apk安装文件:

ant和命令行使用androidSDK提供的apkbuilder.bat命令脚本生成未签名的apk安装文件。

7第七步对未签名的apk进行签名生成签名后的android文件:

ant和命令行使用jdk的jarsigner对未签名的包进行apk签名。

8第八步安装和卸载APK文件,利用ant命令行使用AndroidSDK提供的adb.exe。

参考:

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

在通常的Android大中型项目开发中,使用Eclipse进行android项目的开发有如下不便之处:

  1、Android项目编译周期长,编译项目命令取消困难

  2、在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作

  3、在只进行资源文件的修改时,Eclipse对资源文件的修改会导致整个项目的编译,在无法打开自动编译模式下,极为不便

  对项目进行分包处理后,android编译速度极慢。

  对于我们现在的项目,在未进行分包时编译一次大约需要4、5分钟而有时候你只是简单的修改了一下java文件。

  进行分包后,编译整个项目时长达到10分以上,有时甚至造成eclipse假死

  严重的损耗了工作时间和降低工作效率。

对于一个android项目而言,其编译流程大致如下 

 

                           

 

针对现在生成项目速度慢的状况,发现android项目编译时对资源文件的操作占大量时间。

  Eclipse默认编译流程会有两次aapt调用。

每次时间约四分钟。

  针对我们进行android项目开发时的经验,有以下几种情况:

  1、频繁更改资源文件,在类中需要引用资源但不用生成apk

  2、频繁修改java类文件,资源文件不变,需要生成apk

  3、次数很少的同时修改资源文件和java类文件,同时生成apk

  使用antbuild脚本实现将二次资源文件的操作分开,可以良好改善编译速度,提高工作效率(至少一半)。

在ant脚本编译模式下,对于以上三种情况:

  1、在只有资源文件更改的情况:

使用命令antgenerateR只更新R文件耗时约4mins

  2、在没有更新资源文件后,只修改JAVA类,使用antsimpledebug忽略资源文件R引用的更新,并打包耗时约5mins

  3、更新了资源文件,又修改了JAVA文件想立即打包则使用antdebug此为Eclipse默认模式,时长大约10minus-_-|

详细参考:

ANT学习、keystore制作,APK签名

(二)

今天研究了下build.xml,简单总结下。

收获:

1、修改build.properties文件,例如:

# 'source.dir'forthelocationofyourjavasourcefolderand

# 'out.dir'forthelocationofyouroutputfolder.

#Youcanalsouseitdefinehowthereleasebuildsaresignedbydeclaring

#thefollowingproperties:

# 'key.store'forthelocationofyourkeystoreand

# 'key.alias'forthenameofthekeytouse.

#Thepasswordwillbeaskedduringthebuildwhenyouusethe'release'target.

#sdk路径,签名路径,密码等

key.store=F:

/android123.keystore

key.alias=android123

key.store.password=850310

key.alias.password=850310

然后运行命令:

antrelease

直接生成签名的安装包。

2、发现一个奇怪问题

用keytool制作keystore,然后配置上面说到的文件,发现总是报错:

找不到证书链。

然而用signjar签名去签名,貌似又没问题,不知道为什么。

用eclipse制作的key,然后配置上面说到的文件,又没问题。

注意一点:

keytool制作的key文件都有后缀(.keystore);eclipse制作的key文件没有

意外收获:

[setup]WARNING:

NominSdkVersionvalueset.Applicationwillinstallonall Androidversions.

为什么我的jdk1.6安装完之后不用配置环境变量就可以在dos下运行java命

----用jdk的安装向导安装的时候,会自动把java.exe等几个文件复制到windows目录下,windows目录本来就是在path里的

AndroidAnt

xmlversion="1.0"encoding="UTF-8"?

>

--环境变量-->

--应用的名称-->

--应用的包目录-->

--SDK目录(获取操作系统环境变量ANDROID_SDK_HOME的值)-->

--SDK中tools目录-->

--SDK指定平台目录-->

--SDK指定平台的tools目录-->

--使用到得命令-->

--生成R文件的相对目录-->

--编译后的文件放置目录-->

--生成class目录-->

--资源文件目录-->

--配置清单文件-->

--编译时需要的jar,如果项目需要使用到地图服务则需要maps.jar-->

--编译aidl文件所需的预处理框架文件framework.aidl-->

--Java源文件目录-->

--外部类库所在目录-->

--proguard所在目录-->

--classes.dex相关变量-->

--经过aapt生成的资源包文件-->

--未签名apk包-->

--证书文件-->

--已签名apk包-->

--优化后apk包-->

${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-manifest-xml}

${android-jar}

${android-maps-jar}

${framework-aidl}

${srcdir}

${srcdir-ospath}

${external-lib}

${external-lib-ospath}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1