接了个需求比较蛋疼的项目,用户的操作会涉及到修改源码,没办法,只好自动打包了。
现贡献出Window环境下的批处理代码如下。如果觉得不方便,本人已整合了一个rar压缩包,只要将以下三个文件中开头部分的参数设置成自己本机环境上的数值,然后依次运行下面三个文件,将自动生成一个已签名可安装的out.apk。
签名时图个方便我使用了signer.jar,对于正常使用jarsigner.exe和Zipalign.exe的朋友请Google吧。
另外附一参考资源:<sdk_path>/platforms/android-<version>/templates文件夹下的alias_rules.xml和android_rules.xml。
step1_R.java_any.class_classes.dex.bat step2_resources.arsc_out.apk.bat step3_signer.bat
REM ************[START]Do some homework************ SET WORK_SPACE=D:/Sodino/AutoPackage SET PKG_PATH=lab/sodino/webview SET OUT_APK=%WORK_SPACE%/out.apk SET JAVA_SPACE=E:/Java/jdk1.6.0_14/bin SET ANDROID_SPACE=D:/MissionSetup/Android/android-sdk-r08-windows REM ************[END]Do some homework************
rar下载地址:http://www.sodino.com/AndroidNotepad/AutoPackage.rar
此地址下载后自动有一个工程,工程包名为lab.sodino.webview,该工程的编码使用utf-8。(使用eclipse默认配置的朋友,你们的编码是gbk,这点在执行javac命令时有区别。)
文件:step1_R.java_any.class_classes.dex.bat
@ECHO OFF REM *****CREATED BY Sodino REM *****2011-03-02 15:00 REM ************[START]Do some homework************ SET WORK_SPACE=D:/Sodino/AutoPackage SET PKG_PATH=lab/sodino/webview SET JAVA_SPACE=E:/Java/jdk1.6.0_14/bin SET ANDROID_SPACE=D:/MissionSetup/Android/android-sdk-r08-windows REM ************[END]Do some homework************ REM ************[START]FOLDERS************ ECHO Creating output directories if needed... SET SOURCE_FOLDER=%WORK_SPACE%/src SET RESOURCE_FOLDER=%WORK_SPACE%/res SET ASSETS_FOLDER=%WORK_SPACE%/assets SET GEN_FOLDER=%WORK_SPACE%/gen REM folder for the 3rd party java libraries SET EXTERNAL_LIBS_FOLDER=%WORK_SPACE%/libs REM folder for the native libraries SET NATIVE_LIBS_FOLDER=%WORK_SPACE%/libs SET OUT_FOLDER=%WORK_SPACE%/bin SET OUT_CLASS_FOLDER=%OUT_FOLDER%/classes REM ************[END]************ REM ************[START]Tools************ SET JAVA=%JAVA_SPACE%/java.exe SET JAVAC=%JAVA_SPACE%/javac.exe SET AAPT=%ANDROID_SPACE%/platform-tools/aapt.exe SET AIDL=%ANDROID_SPACE%/platform-tools/aidl.exe SET DX=%ANDROID_SPACE%/platform-tools/dx.bat REM ************[END]************ REM ************[START]Extral jar************ SET ANDROID_JAR=%ANDROID_SPACE%/platforms/android-3/android.jar REM ************[END]************ REM ************[START]Generate the necessary folders************ MKDIR %GEN_FOLDER% MKDIR %OUT_FOLDER% MKDIR %OUT_CLASS_FOLDER% REM ************[END]************ REM ************[START]Generate the R.java************ ECHO Generating R.java / Manifest.java from the resources...