# channel-apptools
**Repository Path**: rundev/channel-apptools
## Basic Information
- **Project Name**: channel-apptools
- **Description**: https://github.com/wubo/apptools
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-10-31
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
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. 环境要求
========
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