您的位置:首页 > 移动开发 > Android开发

手动生成 apk,Android 控们来瞅瞅

2013-03-06 10:04 176 查看
脚本是基于 Windows 的批处理写的,用类Unix操作系统的伙伴们很容易就可以把他们转成 Bash 的脚本,要记得把 .bat 的内容替换哦,斑驳 Arch 里面装的 Android-SDK 里面的官方脚本都是不带 .sh 后缀名的,请注意区分

不多说了,上代码

@echo off

REM 再次感谢您使用斑驳编写的脚本

REM 针对本脚本斑驳并不负任何责任

REM 所有的内容遵循 GPL 协议

REM

REM 欢迎您在必要的条件下,再次发布此脚本

REM

REM                         斑驳敬上

REM

       

title Compile and Package apk - NEO's Edition is Okay~

color 0a

       

REM Android-SDK 路径

set sdkpath=D:\Program Files\android-sdk

       

REM API-Level

set apilevel=7

       

REM java bin 目录

set jhome=C:\Program Files\Java\jdk1.6.0_32

       

REM java 版本

set jversion=1.6

       

REM 包名的设置

set package=your.package.name

       

REM 签名别名

set keyalias=alias

       

REM 开发者名字

set cname=Neo

       

REM 单位名字

set unit=CorpName

       

REM 组织名称

set org=Org

       

REM 城市

set city=Location

       

REM 州、省

set state=State

       

REM 国家

set country=Home

       

REM 签名密码

set storepass=Password

set keypass=Password

       

REM 准备目录

set javasrc=%package:.=\%

if not exist assets md assets

if not exist libs md libs

if exist bin rd /s /q bin

if exist gen rd /s /q gen

md bin gen

       

echo REM 创建 gen 目录后,生成 R.java

"%sdkpath%\platform-tools\aapt.exe" package -f -m -J gen -S res -I "%sdkpath%\platforms\android-%apilevel%\android.jar" -M AndroidManifest.xml

       

echo REM 编译 java

"%jhome%\bin\javac" -encoding UTF-8 -target %jversion% -bootclasspath "%sdkpath%\platforms\android-%apilevel%\android.jar" -d bin src\%javasrc%\*.java gen\%javasrc%\R.java -classpath libs\*.jar

       

echo REM 生成 dex

if exist "%cd%\bin\classes.dex" del /f /q "%cd%\bin\classes.dex"

call "%sdkpath%\platform-tools\dx.bat" --dex --output="%cd%\bin\classes.dex" "%cd%\bin" "%cd%\libs"

       

echo REM 资源文件处理

"%sdkpath%\platform-tools\aapt.exe" pacakge -f -M AndroidManifest.xml -S res -A assets -I "%sdkpath%\platforms\android-%apilevel%\android.jar" -F bin\resources.ap_

       

echo REM 生成未签名的 APK [已废弃的方法]

call "%sdkpath%\tools\apkbuilder.bat" "%cd%\bin\%package%.apk" -u -z "%cd%\bin\resources.ap_" -f "%cd%\bin\classes.dex" -rf "%cd%\src" -nf "%cd%\libs" -rj "%cd%\libs" > %tmp%\err.log 2>&1

type %tmp%\err.log | find /v "THIS TOOL IS DEPRECATED." | findstr /v "^$"

       

if exist %keyalias%.keystore goto signapk

echo REM 生成证书

"%jhome%\bin\keytool.exe" -genkey -alias %keyalias% -keyalg RSA -validity 2015 -keystore %keyalias%.keystore -dname "CN=%cname%,OU=%unit%,O=%org%,L=%city%,S=%state%,C=%country%" -storepass %storepass% -keypass %keypass%

       

:signapk

echo REM 签名 apk

"%jhome%\bin\jarsigner.exe" -keystore %keyalias%.keystore -storepass %storepass% -keypass %keypass% -signedjar %package%.apk bin\%package%.apk %keyalias%

       

echo REM 清理目录

rd /s /q bin gen
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: