Gradle3.0 修改APK生成路径和文件名

2018-03-22  本文已影响118人  鹏程万里无云

 Gradle 插件更新到了3.0, 但是当我们更新到3.0的时候, 很多dsl 无法使用了, 其中就有一个本人比较喜欢的api改变了, 就是修改打包生成的APK文件名.

在未更新之前:

applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File('XXXXXX/XXXXX/release.apk') } }

更新3.0之后, 上面的方法就会报错.

3.0可以使用以下方法修改:

applicationVariants.all { variant ->         variant.getPackageApplication().outputDirectory = new File("XXXXXX/XXXXX/")         variant.getPackageApplication().outputScope.apkDatas.forEach { apkData ->     apkData.outputFileName = "release.apk"
     }
 }

具体的API更改说明可以查看: 

https://developer.android.google.cn/studio/build/gradle-plugin-3-0-0-migration.html#variant_api

据说是为了加快编译速度.

同时

更新到Gradle 3.0之后,如你有 productFlavors, 必须定义 flavorDimensions, 生成的apk name会根据productFlavors.name命名.

android{
 ... flavorDimensions "type" //这个是必须的
 ... productFlavors{
     dev{
         dimension "type" //并且必须使用这个dimension
     }
     pre{
         dimension "type" //并且必须使用这个dimension
     }
     apk{
         dimension "type" //并且必须使用这个dimension
     }
     }
}

上一篇下一篇

猜你喜欢

热点阅读