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

posted @ 2014-11-04 21:11  牧 天  阅读(199)  评论(0)    收藏  举报