android gradle打包零碎知识

Android studio 3.4.1 ;gradle version5.1.1 ;低版本的gradle可能有差异,或者部分api被移除

一 、gradle生成指定命名的aar并且复制到指定目录下

android{
    //动态修改aar输出名称
    buildAAR(android)
   }
// 打包aar
def buildAAR(android) {
    android.libraryVariants.all { variant ->
        if (variant.buildType.name == "release") {
            outputAAr(variant)
        }
        if (variant.buildType.name == "debug") {
            outputAAr(variant)
        }
    }
}

def outputAAr(variant) {
// 修改aar名称
    variant.outputs.all { output ->
         //这个可以根据自己的需求自定义输出名称 如:xxx-1.0.0-release.aar
        outputFileName = outputFileName.replace("app-", "xxx-")
    }
    // 复制aar到指定目录
    variant.assemble.doLast {
        variant.outputs.all { output ->
            // 复制aar到app/aar目录下,outputPath 可手动修改
            def outputPath = "aar/"
            copy {
                from output.outputFile //从默认目录\app\build\outputs\aar
                into outputPath        //复制到指定的目录
            }
        }
    }
}


二、gradle生成指定格式apk

android{
        applicationVariants.all { variant ->
            variant.outputs.all { output ->
              outputFileName = formatApkOutName()
        }
    }
    /**
    *根据自己的需求去自定义apk名称
    */
    def formatApkOutName(){
       return "xxx".apk
    }

持续更新…记录脚本语言的高效办公

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章