Android sdk目录:ANDROID_SDK=” F:\Android\sdk\platforms\android-14”;
1 生成R.java文件:
创建gen目录,如果GC中没有gen目录,运行
Mkdir GC\gen
使用aapt生成R.java类文件:
aapt.exe package -f –m –J GC\gen –S GC\res –I ANDROID_SDK\android.jar –M GC\AndroidManifest.xml
其中 –f –m –J E:\androidDev\AndroidByread\gen 代表按覆盖的形式在gen目录下生成带包路径的R.java
-s指定资源文件GC\res
-I 指定使用的android类
-M指定程序的配置文件 GC\ AndroidManifest.xml
2、使用android SDK 提供的aidl.exe 把.aidl转成.java 文件:若没有可不执行此步骤
aidl OPTIONS INPUT[OUTPUT]
aidl –pregrocess OUTPUT INPUT…
OPTIONS:
-I<DIR> search path for import statements.
-d<FILE> generate dependency file.
-p<FILE> file create by –progress to import.
-o<FOLDER> base output folder for generated files.
-b fail when trying to compile a parcelable.
INPUT:
An aidl interface file.
OUTPUT:
The generated interface files.
编译.java类文件生成class 文件:
创建bin目录,如果GC目录下没有bin目录,运行
Mkdir GC\bin
运行javac 编译java文件
Javac –encoding UTF-8 –target 1.6 –bootclasspath ANDROID_SDK\android.jar –d GC\bin GC\src\...\*.java GC\gen\com\...\R.java -classpath GC\libs\....jar
-d:指定存放生成的类文件的位置
bin目录、src目录下的所有java类 gen目录下的所有文件
-classpath:指定查用用户类文件和注释处理程序的位置
使用android SDK 提供的dx.bat 命令行脚本生成classes.dex 文件:
例:
dx.bat –-dex –-output=GC\bin\classes.dex GC\bin GC\libs
其中 classes.dex 为生成的目标文件,
使用Android SDK提供的aapt.exe 生成资源包文件(包括res、assets、androidmanifest.xml)
aapt.exe package –f -M GC\AndroidManifest.xml –S GC\res –A GC\assets –I ANDROID_SDK\android.jar –F GC\bin\resources
将Androidmanifest.xml.res,assets 文件夹中的资源文件打包生成resources
生成未签名的apk安装文件:
Apkbuilder.bat GC\bin\test.apk -v –u –z GC\bin\resources –f GC\bin\classes.dex –rf GC\src –rj GC\libs –nf GC\libs
使用jdk 的 jarsigner 对未签名的包进行apk签名:
jarsigner –keystore key.keystore –storepass keystore.password –signedjar signed.apkfile unsigned.apkfile keyalias
jarsigner –keystore elves.keystore –signedjar signed.apk unsigned.apk elves
jarsigner –keystore elves.keystore –storepass 11111 –signedjar signed.apk unsigned.apk elves