ant建立android工程
1.ant android project
1.1 Convert eclipse android project to ant android project
1.firstly, create a project by eclipse
2 JrdSoundRecord$ android update project -p . -t android-20 --name JrdSoundRecord
$ant clean
$ant debug
$ant release
Note: if there is appcompat_v7, you should generate and compile the appcompat_v7 ant project as well.
ant debug----编译工具已经自动签名debug key和使用zipalign优化打包
ant release---需要自己来配置签名和zipalign优化,会生成<project_name>-release-unsigned.apk文件
1.2 Create an android project by ant
$android create project -k com.android.test -a MyActivity -t android-20 -p .
-n --name : Project name.
-v --gradle-version: Gradle Android plugin version.
-t --target : Target ID of the new project. [required]
-p --path : The new project's directory. [required]
-g --gradle : Use gradle template.
-k --package : Android package name for the application. [required]
-a --activity : Name of the default Activity that is created.
2 Apk sign
2.1 sign manually
2.1.1 generate key
$keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias 产生别名
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg 指定密钥的算法
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
-storepass 指定密钥库的密码
-keypass 指定别名条目的密码
-dname 指定证书拥有者信息 例如: "CN=sagely,OU=atr,O=szu,L=sz,ST=gd,C=cn"
-list 显示密钥库中的证书信息 keytool -list -v -keystore sage -storepass ....
-v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件 keytool -export -alias caroot -file caroot.crt
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目 keytool -delete -alias sage -keystore sage
-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias sage -keypass .... -new .... -storepass ...
2.1.2 sign
$jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystoremy-release-key.keystore my_application.apk alias_name
2.2 sign automatically by build.xml
edit project.properties
add following and other content
key.store=my-release-key.keystore
key.alias=alias_name

浙公网安备 33010602011771号