①命令行创建Android项目
To create a new Android project, open a command-line, navigate to the tools/
directory of your SDK and run:
android create project \ --target <target_ID> \ --name <your_project_name> \ --path path/to/your/project \ --activity <your_activity_name> \ --package <your_package_namespace>
详细参考:http://developer.android.com/tools/projects/projects-cmdline.html
例子
android create project
--target 2
--name CMDAndroidApp
--path g:\cmdandroid
--activity myandroidactivity
--package com.cmd.app
要写在一行上。
②命令行打包
1.生成R.java文件
创建gen目录,如果F:\workspace\LBSDemo目录下没有gen目录,运行
mkdir F:\workspace\LBSDemo\gen
运行aapt命令生成R.java文件
aapt.exe package -f -m -J gen -S res -I D:\eclipse\androidsdk\platforms\android-8\android.jar -M AndroidManifest.xml
3.将java文件编译成class文件
如果没有bin目录,先用mkdir进行创建
G:\cmdandroid>javac -encoding UTF-8 -target 1.6 -bootclasspath D:\eclipse\androidsdk\platforms\android-8\android.jar -d bin src\com\cmd\app\*.java gen\com\cmd\app\R.java
4.生成dex文件(注意要使用绝对路径)
G:\cmdandroid>dx.bat --dex --output=g:\cmdandroid\bin\classes.dex g:\cmdandroid\bin
5.生成资源包文件
aapt.exe package -f -M AndroidManifest.xml -S res -A assets -I D:\eclipse\androidsdk\platforms\android-8\android.jar -F bin\resources
6.生成未签名的apk包
D:\eclipse\androidsdk\tools>apkbuilder.bat g:\cmdandroid\bin\cmdapp.apk -v -u -z g:\cmdandroid\bin\resources -f g:\cmdandroid\bin\classes.dex -rf g:\cmdandroid\src
7.签名
D:\eclipse\androidsdk\tools>jarsigner -verbose -keystore D:\eclipse\androidkey -storepass qqyes456 -signedjar g:\cmdandroid\bin\cmdapp_signed.apk g:\cmdandroid\bin\cmdapp.apk zgstkey
8.对齐
zipalign -v 4 g:\cmdandroid\bin\cmdapp_signed.apk g:\cmdandroid\bin\cmdapp_signed_aligned.apk
步骤不全,详细参考:http://blog.csdn.net/chenfeng0104/article/details/7169198
③命令行生成签名并用来签名apk(http://www.cnblogs.com/icedog/archive/2011/03/17/1987225.html)
《一》使用命令行生成签名文件
(1)创建一个用来存放签名文件的文件夹android_publish
(2)在命令行窗口中输入命令:(粗体部分)
E:\android_publish>keytool -genkey -alias alex_android.keystore -keyalg RSA -validity 20000 -keystore alex_android.keystore
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: ZhouJiangHai
您的组织单位名称是什么?
[Unknown]: jxust
您的组织名称是什么?
[Unknown]: jxust
您所在的城市或区域名称是什么?
[Unknown]: ganzhou
您所在的州或省份名称是什么?
[Unknown]: jiangxi
该单位的两字母国家代码是什么
[Unknown]: cn
CN=ZhouJiangHai, OU=jxust, O=jxust, L=ganzhou, ST=jiangxi, C=cn 正确吗?
[否]: y
输入<alex_android.keystore>的主密码
(如果和 keystore 密码相同,按回车):
这时会在E盘的abdroid_publish文件夹下生成alex_android.keystore文件,就是我们需要的签名文件,(-validity 20000 表示证书的有效天数为20000天)
《二》用生成的签名文件对apk文件进行签名
(1)在Eclipse中用“Export the unsigned apk”工具导出项目,这里保存到E盘的android_publish文件夹下,名为assistant.apk
(2)使用jarsigner给android_infoAssistant.apk
文件签名,如下所示:
E:\android_publish>"E:\jdk1.6\bin\jarsigner.exe" -verbose -keystore alex_android.keystore -signedjar android_assistant.apk assistant.apk alex_android.keystore
输入密匙的口令短语:
......
通过上面的命令就可以讲未签名的assistant.apk 文件签名为android_assistant.apk
(3)最后验证是否签名成功
E:\android_publish>"E:\jdk1.6\bin\jarsigner.exe" -verify android_assistant.apk
如果成功则
输出:
jar 已验证