使用命令行打APK包

自动打包

现贡献出Window环境下的批处理代码如下。如果觉得不方便,本人已整合了一个rar压缩包,只要将以下三个文件中开头部分的参数设置成自己本机环境上的数值,然后依次运行下面三个文件,将自动生成一个已签名(图个方便我使用了signer.jar)可安装的out.apk。

AutoPackage.rar


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值