apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' def releaseTime() { return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC")) } android { //程序编译时会检查lint,有任何错误提示停止build lintOptions{ //即使报错也不停止打包 abortOnError false //打包release版本时是否进行检测 // checkReleaseBuild false } //编译sdk的版本 compileSdkVersion 28 //build tool,其中包含了打包工具aapt(编译xml文件,生成R.java,Resources.arsc)、dx(.java->.class & .class->.dex)等 // buildToolVersion '28.0.3' //关闭png合法性检查 aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false defaultConfig { applicationId "com.example.dell.testdemo" minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0" //单元测试 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" flavorDimensions "versionCode" //指定打包成jar包时的文件名称 archivesBaseName = "test-$versionName" ndk{ moduleName 'testdemo' //设置库(so)文件名称 //引入库 ldLibs 'log','z','m','android' //显示支持的abi abiFilters "armeabi","x86","armeabi-v7a" } //当方法数超过65535(short最大值)时允许打包成多个dex文件,动态加载dex multiDexEnabled true } sourceSets{ main{ manifest.srcFile 'AndroidManifest.xml'//指定清单文件 res.srcDirs = ['res']//指定res资源目录 assets.srcDirs = ['assets']//指定assets资源目录 jni.srcDirs 'src/main/jni' //jni代码目录 jniLibs.srcDirs 'src/main/jniLibs' //jni库目录 java.srcDirs = ['src']//指定java源代码目录 resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] } debug.setRoot('build-types/debug') release.setRoot('build-types/release') } dexOptions{ //不对Libs做preDexing preDexLibraries = false //开启incremental dexing,优化编译效率,默认false incremental true javaMaxHeapSize '4g' //java堆内存大小 } signingConfigs{ release{ storeFile file('test.jks') storePassword 'test1234' keyAlias "test" keyPassword 'test1234' } debug{ storeFile file('test.jks') storePassword 'test1234' keyAlias "test" keyPassword 'test1234' } } buildTypes { release { //是否支持zip优化(GooglePlay要求true) zipAlignEnabled true //移除无用resource文件 shrinkResources true //是否混淆 minifyEnabled false // proguard-android.txt指所有项目通用的混淆规则,proguard-rules.pro当前项目特有的混淆规则 //release的Proguard默认为Module下的proguard-rules.pro文件 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //是否支持调试 debuggable false // 不显示Log buildConfigField "boolean", "LOG_DEBUG", "false" // ndk{ // // cFlags "-std=c++11 -fexceptions -O3 -D__RELEASE__" // C++11 // // platformVersion = "19" // moduleName "hebbewifisafe" //设置库(so)文件名称 // ldLibs "log", "z", "m", "jnigraphics", "android" // //引入库,比如要用到的__android_log_print // abiFilters "armeabi", "x86", "armeabi-v7a"//, "x86" // cFlags "-std=c++11 -fexceptions" // C++11 // stl "gnustl_static" // } jniDebuggable false //关闭jni调试 } debug {//debug版本的配置 minifyEnabled false zipAlignEnabled true shrinkResources true // 移除无用的resource文件 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' debuggable true // jniDebuggable true ndk { cFlags "-std=c++11 -fexceptions -g -D __DEBUG__" // C++11 } jniDebuggable true } } //排除不想添加到apk中的文件 packagingOptions{ exclude 'META-INF/DEPENDENCIES.txt' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/notice.txt' exclude 'META-INF/license.txt' exclude 'META-INF/dependencies.txt' exclude 'META-INF/LGPL2.1' } //java版本配置 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } productFlavors{ baidu qihu360 xiaomi huawei } productFlavors.all{ flavor -> flavor.manifestPlaceholders = [JPUSH_CHANNEL:name] } applicationVariants.all{ variant-> variant.outputs.all{ outputFileName = "${variant.productFlavors[0].name}_Test_${defaultConfig.versionName}_${releaseTime()}.apk" } } androidExtensions { experimental = true } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' testImplementation 'junit:junit:4.12'//测试用例库 androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" }
build.gradle
最新推荐文章于 2024-05-04 11:12:09 发布