现贡献出Window环境下的批处理代码如下。如果觉得不方便,本人已整合了一个rar压缩包,只要将以下三个文件中开头部分的参数设置成自己本机环境上的数值,然后依次运行下面三个文件,将自动生成一个已签名(图个方便我使用了signer.jar)可安装的out.apk。
- 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
文件: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...
- %AAPT% package -m -J %GEN_FOLDER% -M AndroidManifest.xml -S %RESOURCE_FOLDER% -I %ANDROID_JAR%
- REM ************[END]************
- REM ************[START]Generate java classes from .aidl files.************
- REM SET AIDL_FILE_1=D:\Sodino\AutoPackage\ApiDemos\src\com\example\android\apis\app\IRemoteService.aidl
- REM SET AIDL_FILE_OUT_1=D:\Sodino\AutoPackage\ApiDemos\src\com\example\android\apis\app\IRemoteService.java
- REM %AIDL% -p -I %SOURCE_FOLDER% -o %GEN_FOLDER% %AIDL_FILE_1% %AIDL_FILE_OUT_1%
- REM FAIL
- REM ************[END]************
- REM ************[START]Compile this project's .java files into .class files.************
- ECHO Compile this project's .java files into .class files.
- %JAVAC% -encoding utf-8 -target 1.5 -d %OUT_CLASS_FOLDER% -bootclasspath %ANDROID_JAR% -Xlint:unchecked %SOURCE_FOLDER%\%PKG_PATH%\*.java %GEN_FOLDER%\%PKG_PATH%\*.java
- REM ************[END]Compile this project's .java files into .class files.************
- REM ************[START]Convert this project's .class files into .dex files.************
- ECHO Convert this project's .class files into .dex files.
- %DX% --dex --output=%OUT_FOLDER%\classes.dex %OUT_CLASS_FOLDER%
- REM ************[END]Convert this project's .class files into .dex files.************
- ECHO EDITED BY SODINO
- PAUSE
- @ECHO ON
文件:step2_resources.arsc_out.apk.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 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]************
- 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
- SET APKBUILDER=%ANDROID_SPACE%\tools\apkbuilder.bat
- REM ************[END]************
- REM ************[START]Extral jar************
- SET ANDROID_JAR=%ANDROID_SPACE%\platforms\android-3\android.jar
- REM ************[END]************
- REM ************[START]
- REM Put the project's resources into the output package file
- REM This actually can create multiple resource package in case
- REM Some custom apk with specific configuration have been
- REM declared in default.properties.
- REM ************
- ECHO Put the project's resources into the output package file
- %AAPT% package -a -f -M AndroidManifest.xml -S %RESOURCE_FOLDER% -A %ASSETS_FOLDER% -I %ANDROID_JAR% -F %OUT_FOLDER%\resources.arsc
- REM ************[END]************
- REM ************[START]
- REM Package the application and sign it with a debug key.
- REM This is the default target when building. It is used for debug.
- REM ************
- ECHO Put the project's resources into the output package file
- REM %APKBUILDER% %OUT_APK% -v -u -z %RESOURCE% -f %CLASSES% -rf %SRC%
- %APKBUILDER% %OUT_APK% -v -u -z %OUT_FOLDER%\resources.arsc -f %OUT_FOLDER%\classes.dex -rf %SOURCE_FOLDER%
- REM ************[END]************
- ECHO EDITED BY SODINO
- PAUSE
- @ECHO ON
文件:step3_signer.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 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************
- 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]************
- ECHO Signed with jarsigner.
- %JAVA% -jar %WORK_SPACE%\signer.jar %OUT_APK%
- REM ************[END]************
- ECHO EDITED BY SODINO
- PAUSE
- @ECHO ON