Android Studio Gradle 常用配置

app.gradle

android {
    ...
    defaultConfig {
        ...
        //选择要使用的平台
        ndk {
            abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
        }
    }
    ...
    //aar目录
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
    //so包目录
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    //app打包命名
    android.applicationVariants.all {
        variant ->
            variant.outputs.all {
                outputFileName = "APP_NAME_${defaultConfig.versionName}.apk"
            }
    }
    //忽略拼写检查
    lintOptions {
        abortOnError false
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    ...
    //lib依赖
    //compile project(path: ':mylibrary')
    //aar
    //compile(name: 'test-release', ext: 'aar')
}

library.gradle生成jia包并开启混淆,aar在mylibrary\build\outputs\aar目录下

//minifyEnabled true
//=======生成jar包脚本 start=============================================
//打jar包
def SDK_BASENAME = "target_sdk";
def SDK_VERSION = "_V1.0";
def sdkDestinationPath = "build";//生成jar存放目录
//release目录下的classes.jar
def releaseJar = file('build/intermediates/bundles/release/classes.jar')
//将libs目录下的gson打入jar包
def thirdPartyJar = file('libs/gson-2.3.1.jar')
//打包jar前先删除原先的jar
task deleteBuild(type: Delete) {
    delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
}
task makeJar(type: Jar) {
    from zipTree(releaseJar)//导出混淆的jar
    from zipTree(thirdPartyJar)//将第三方jar包打入jar包
    from fileTree(dir: 'src/main', includes: ['assets/**'])//将assets目录打入jar包
    exclude('**/BuildConfig.class')//排除不必要的class文件
    baseName = SDK_BASENAME + SDK_VERSION
    destinationDir = file(sdkDestinationPath)
}
makeJar.dependsOn(deleteBuild, build)

//=======生成jar包脚本 end=============================================

猜你喜欢

转载自blog.csdn.net/u011106915/article/details/80016434