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

脚本是基于 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值