我正在使用Gradle来编译我的Android项目:
buildTypes {
release {
signingConfig signingConfigs.release
applicationVariants.all { variant ->
def file = variant.outputFile
def fileName = file.name
fileName = fileName.replace(".apk", "-renamed".apk")
variant.outputFile = new File(file.parent, fileName)
}
}
}
Run Code Online (Sandbox Code Playgroud)
并非所有输出文件都被重命名,它总是跳过1个文件.为什么?
myapp-debug-unaligned-renamed.apk <-renamed, OK!
myapp-release.apk <-NOT renamed, WRONG!
myapp-release-unaligned-renamed.apk <-renamed, OK!
Run Code Online (Sandbox Code Playgroud)
Ser*_*m's 16
我用这个代码解决了:
buildTypes {
release {
signingConfig signingConfigs.release
}
applicationVariants.all { variant ->
def apk = variant.packageApplication.outputFile;
def newName = apk.name.replace(".apk", "-renamed.apk");
variant.packageApplication.outputFile = new File(apk.parentFile, newName);
if (variant.zipAlign) {
variant.zipAlign.outputFile = new File(apk.parentFile, newName.replace("-unaligned", ""));
}
}
}
Run Code Online (Sandbox Code Playgroud)
该区块applicationVariants.all {...}现在位于release {...}区块外.
我认为variant.zipAlign.outputFile有所作为.
| 归档时间: |
|
| 查看次数: |
17773 次 |
| 最近记录: |