为了生成体积更小的apk文件,使用7zip的zip算法重新打包apk文件,并且可以通过配置参数让一些文件不要打包到apk
参考:配置示例
- app/build.gradle.kts
plugins {
id("cn.lalaki.repack") version "1.0.6"
}
repackConfig {
sevenZip = File("C:\\example\\7za.exe") // 7zip的可执行文件(控制台版本),可以在:https://www.7-zip.org 下载
resign = true // 对重新打包的apk签名(值为false时,addV1Sign ,addV2Sign将不生效 )
addV1Sign = true // v1签名,android7以下需要
addV2Sign = true // v2签名,android7~9需要
disableV3V4 = false // 禁用v3/v4签名,默认不禁用
apkFile = null // 通常无需设置,如果插件找不到默认生成的apk文件,可以配置此参数指定某个apk文件,值可以为null
blacklist = arrayOf("META-INF","1.example.txt","2.example.txt")
// 重新打包时,自定义排除掉某些无用的文件或文件夹,按文件夹、文件名称严格匹配,不支持通配符,值可以为null
quiet = false // 安静模式,默认false,会在终端输出日志
}
配置完成后,直接生成apk就好了
在Windows系统下,当重新打包的apk不能运行时,检查注册表
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel
obcaseinsensitive 的值应当为1,禁用大小敏感,重启电脑生效