gradle 3.3 修改打包apk路径

升级到gradle 3.3之后,有一些api不能用了,影响比较大的可能就是之前的修改打包apk路径

修改之后:
/Gradle3.3 以上的方法/

applicationVariants.all { variant ->
 if (variant.buildType.name != "debug") {
     variant.getPackageApplicationProvider().get().outputDirectory = new File(project.rootDir.absolutePath + "/apk")
 }
 variant.getPackageApplicationProvider().get().outputScope.apkDatas.forEach { apkData ->
     apkData.outputFileName = ((project.name != "app") ? project.name : rootProject.name) + "-" +
             variant.versionName + "_" +
             variant.flavorName + "_" +
             variant.buildType.name + "_" +
             ".apk"
 }
}

3.3之前的修改方式:

applicationVariants.all { variant ->
 if (variant.buildType.name != "debug") {
     variant.getPackageApplication().outputDirectory = new File(project.rootDir.absolutePath + "/apk")
 }
 variant.getPackageApplication().outputScope.apkDatas.forEach { apkData ->
     apkData.outputFileName = ((project.name != "app") ? project.name : rootProject.name) + "-" +
             variant.versionName + "_" +
             variant.flavorName + "_" +
             variant.buildType.name + "_" +
             ".apk"
 }
}

3.0之前的方式:

applicationVariants.all { variant ->
//这个修改输出的APK路径
 if (variant.buildType.name != "debug") {//防止AS无法安装debug包(apk)
    variant.getPackageApplication().outputDirectory = new File(project.rootDir.absolutePath + "/apk")
 }
variant.getPackageApplication().outputScope.apkDatas.forEach { apkData ->
    //这个修改输出APK的文件名
    apkData.outputFileName = "AppName-" +
            variant.versionName + "_" +
            apk_time + "_" +
            variant.flavorName + "_" +
            variant.buildType.name + "_" +
            variant.signingConfig.name +
            ".apk"
  }
}

参考地址:http://blog.csdn.net/angcyo https://blog.csdn.net/angcyo/article/details/78357512

点赞