命令行创建Android项目
查看sdk信息
将目录更改到 Android SDK 的tools/的路径。
执行:
android list targets
这将打印您已经为您的 SDK 下载可用的 Android平台的列表。查找您要对其编译使您应用程序的平台的目标 id 的便笺。我们建议您选择可能的最高版本。您仍可以生成您的应用程序支持较旧的版本,但将生成目标设置为最新版本允许您优化您的应用程序的最新设备。
创建项目
命令
android create project --target <target_ID> --name <your_project_name>--path path/to/your/project --activity <your_activity_name> --package
命令示例
android create project --target 42 --name MyFirstApp --path F:\Workspace_Test\test\MyFirstApp --activity MainActivity --package com.example.myfirstapp
命令说明
42为sdk id
MyFirstApp为项目名称
F:\Workspace_Test\test\MyFirstApp为项目根目录
MainActivity为项目主Activity名称(即启动Activity)
com.example.myfirstapp为项目包名
命令行打包
1.生成R.java文件
创建gen目录
如果F:\Workspace_Test\test\MyFirstApp目录下没有gen目录,运行
mkdir F:\Workspace_Test\test\MyFirstApp\gen
运行aapt命令生成R.java文件
切换到aapt.exe根目录
cd F:\AndroidSDK\android-sdk-windows\build-tools\19.0.0
生成R.java文件
aapt.exe package -f -m -J gen -S res -I F:\AndroidSDK\android-sdk-windows\platforms\android-Honeycomb\android.jar -M AndroidManifest.xml
命令说明
F:\AndroidSDK\android-sdk-windows\platforms\android-Honeycomb\android.jar这个要与之前的42对应
2.将java文件编译成class文件
如果没有bin目录,先用mkdir F:\Workspace_Test\test\MyFirstApp\bin进行创建
javac -encoding UTF-8 -target 1.7 -bootclasspath F:\AndroidSDK\android-sdk-windows\platforms\android-Honeycomb\android.jar -dbin src\com\example\myfirstapp\*.java gen\com\example\myfirstapp\R.java
命令说明
1.7为jdk版本
F:\AndroidSDK\android-sdk-windows\platforms\android-Honeycomb \android.jar与生成R.java文件对应
src\com\example\myfirstapp为java文件所在位置
gen\com\example\myfirstapp为R.java文件所在位置
3.生成dex文件(注意要使用绝对路径)
切换到 dx.bat根目录
cd F:\AndroidSDK\android-sdk-windows\build-tools\19.0.0
生成dex文件
dx.bat --dex --output=F:\Workspace_Test\test\MyFirstApp\bin\classes.dex F:\Workspace_Test\test\MyFirstApp\bin
命令说明
F:\Workspace_Test\test\MyFirstApp\bin\classes.dex为dex文件保存位置及名称
F:\Workspace_Test\test\MyFirstApp\bin为bin文件夹所在位置
4.生成资源包文件
切换到aapt.exe根目录
cd F:\AndroidSDK\android-sdk-windows\build-tools\19.0.0
生成资源包文件
如果没有assets文件夹,先用mkdir F:\Workspace_Test\test\MyFirstApp\assets进行创建
aapt.exe package -f -M AndroidManifest.xml -S res -A assets -I F:\AndroidSDK\android-sdk-windows\platforms\android-Honeycomb\android.jar -F bin\resources
命令说明
F:\AndroidSDK\android-sdk-windows\platforms\android-Honeycomb\android.jar与生成R.java文件对应
5.生成未签名的apk包(apkbuilder.bat已废弃)
set classpath=F:\AndroidSDK\android-sdk-windows\tools\lib\sdklib.jar;.;%CLASSPATH%(设置sdklib.jar引用,在sdk根目录tools\lib\sdklib.jar)
java com.android.sdklib.build.ApkBuilderMain F:\Workspace_Test\test\MyFirstApp\bin\app.apk -v -u -z F:\Workspace_Test\test\MyFirstApp\bin\resources -f F:\Workspace_Test\test\MyFirstApp\bin\classes.dex -rf F:\Workspace_Test\test\MyFirstApp\src
命令说明
F:\Workspace_Test\test\MyFirstApp\bin\app.apk为生成的未签名APK所在位置和名称
只需修改所有的F:\Workspace_Test\test\MyFirstApp为项目根目录路径
6.签名
生成签名
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore(20000为有限期(天))
签名apk
切换到sdk tools目录
cd F:\AndroidSDK\android-sdk-windows\tools
jarsigner -verbose -keystore F:\Workspace_Test\test\keystore\android.keystore -storepassandroid -signedjar F:\Workspace_Test\test\MyFirstApp\bin\app_signed.apk F:\Workspace_Test\test\MyFirstApp\bin\app.apk android.keysotre -digestalg SHA1-sigalg MD5withRSA
命令说明
Jdk1.6不加-digestalgSHA1 -sigalg MD5withRSA
Jdk1.7必须在后面加上-digestalgSHA1 -sigalg MD5withRSA
F:\Workspace_Test\test\keystore\android.keystore为keystore文件路径
android为keystore密码
F:\Workspace_Test\test\MyFirstApp\bin\app_signed.apk为签名后APK文件路径
F:\Workspace_Test\test\MyFirstApp\bin\app.apk为未签名APK文件路径
android.keysotre为keystore别名
7.对齐(优化应用)
zipalign -v 4 F:\Workspace_Test\test\MyFirstApp\bin\app_signed.apk F:\Workspace_Test\test\MyFirstApp\bin\app_signed_aligned.apk
命令说明
F:\Workspace_Test\test\MyFirstApp\bin\app_signed.apk为签名APK文件路径
F:\Workspace_Test\test\MyFirstApp\bin\app_signed_aligned.apk为对齐后的签名APK文件路径
文档地址:android命令行创建并打包项目
PS:这XXXX博客编辑器真不咋地,从word复制过来,居然会多空格和少空格,这倒不要紧,问题是不该多的多了,不该少的少了