Skip to content

cnsuhao/apptools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android多渠道打包工具

支持跨平台、命令行、多渠道、平均6秒打一个包

  1. 多种打包方式 ======== 添加assets打包方式 解决360等加固不能再打包问题
    使用java -cp命令可选择打包方式
    java -cp apptools.jar com.leo.app.Main(AndroidManifest打包方式)
    java -cp apptools.jar com.leo.app.CMain(assets打包方式)
    java -jar apptools.jar 默认assets打包方式

  2. 环境要求 ========

  • Java SDK
  • Android SDK
3.打包流程 ======== 1.设置当前process 的环境变量,保证 apktool 可以正常工作
2.执行 apktool d --no-src -f xxxx.apk temp 拆解apk
3.替换 AndroidManifest.xml 中的 channelFlag字符为指定渠道
4.执行 apktool b temp unsigned.apk 重新打包apk
5.执行 jarsigner 生成签名后的 apk 文件
6.执行 zipAlign 生成对齐优化后的 apk 文件
7.回到 3 替换新的渠道
8.完成打包

4.工程目录结构

源码:

├apktool
  ├src
  ├bin
  ├.classpath
  ├.project
  ├linux
  ├macosx
  ├windows
  ├map.properties

命令行:

├pro java -jar apptools.jar
  ├apptools.jar
  ├linux
  ├macosx
  ├windows
  ├map.properties

5.使用教程

1.配置map.properties
2.更改自己要打包项目的AndroidManifest.xml(可参考apps demo)中的渠道号字符替换为map.properties中配置的channelFlag 指定字符 打好包后放到map.properties配置的指定路径
3.执行命令行:java -jar apptools.jar 或者 java -jar apptools.jar google,baidu,yyh

6.注意事项

1.如果您的电脑以前使用过apktool工具请删除工具生成老的framework.jar 路径(windows平台): c:\Documents and Settings%current user%\apktool\framework*

2.请尽量避免java与android环境变量存在空格

3.不支持jar包中包含有资源文件的apk项目,受apktool工具本身功能限制(如有jar包源码,可尝试把源码建立成Android项目,把资源放进assets以Android方式加载打包成jar. android模式的jar中有assets资源,打包时会自动把assets合并进项目)

4.如出现aapt命令问题,请解决环境变量入径问题 如:Android SDK Tools 版本为22时需在Android SDK Manager中安装Android SDK Build-tools 然后添加路径%ANDROID_SDK_HOME%\build-tools\17.0.0;到Path

About

Android多渠道打包工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 70.7%
  • Shell 28.6%
  • Batchfile 0.7%