# aarMergeTool **Repository Path**: a3077932030/aarMergeTool ## Basic Information - **Project Name**: aarMergeTool - **Description**: android aar合并,apk转成aar - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-24 - **Last Updated**: 2025-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 使用 运行.bat文件 [aar合并.bat](aar合并.bat):将多个aar合并成一个,aar在AarConfig.json配置。 [apk2aar(0x7f值修改).bat](apk2aar(0x7f值修改).bat): 可将apk转成aa,一般的apk需要用这个.(部分id可能还是无法被修改) [apk2aar.bat](apk2aar.bat):可将apk转成aar,apk需保证R.xx.xx字段没有被优化(即app模块没有使用id,需要资源和资源获取的代码放在library模块下)。 注意:部分apk和aar可能不支持 ## AarConfig说明 ```kotlin class AarConfig { var outAArName: String = "" //输出的aar名称 var packageName: String = "" // 包名或命名空间 var aarPathList: List = emptyList() //需要合并的aar文件路径 示例 xxxx.aar var metaDataMap: Map = TreeMap() // meta-data修改 var replaceStringManifest: List = emptyList() // AndroidManifest.xml 字符串替换 用于复杂的数据替换 var deleteFileList: List = emptyList() //需要删除的文件, 示例 res/mipmap-anydpi var changeClassPackage: Map = emptyMap() // 修改class所在的包名 com.xxx.yyy 中间用.隔开 var smaliClassSizeMB: Long =50 //限制smaliClass文件的大小,避免方法数量超出限制无法打包,推荐值50MB, 若smaliClassSizeMB<=0或smaliClassSizeMB>=1000将不限制文件大小 var deleteSmaliPaths: List = emptyList() //需要删除的smail的文件或文件夹 com/google com/xxx/R.smali var isDeleteSameNameSmali: Boolean = true //是否删除相同名称的smali文件 var deleteManifestNodeNames: Set = emptySet() //根据name删除的AndroidManifest.xml对应的节点 } class ReplaceStringData{ var isReplaceFirst=false var isRegex=false var matchString:String="" var replaceString:String="" } ``` ## 项目说明 [libs](/libs/) 存放一些工具链 [/jar/gameSdkTool.jar](/jar/gameSdkTool.jar)源码地址为[https://github.com/ming123aaa/apkMerge](https://github.com/ming123aaa/apkMerge)