Android-->build.gradle-->buildTypes

我们在用androidStudio开发安卓项目的时候经常要配置build.gradle,那么到底怎么配置呢

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.pf.listener14"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        externalNativeBuild {
            cmake {
                cppFlags "-frtti -fexceptions"
            }
        }
    }
    signingConfigs {
        mySign {
            storeFile file('debug.keystore')
            storePassword 'android'
            keyAlias 'androiddebugkey'
            keyPassword 'android'
            //支持V1签名
            v1SigningEnabled true
            //支持V2签名
            v2SigningEnabled true
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            //包名后缀
            applicationIdSuffix '.debug'
            //支持debug
            debuggable true
            //ndk支持debug
            jniDebuggable true
            //优化混淆
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            //分包
            multiDexEnabled true
            pseudoLocalesEnabled true
            //压缩资源
            shrinkResources true
            //签名
            signingConfig signingConfigs.mySign
            //压缩apk
            zipAlignEnabled true
        }
        hello{
            initWith debug
        }
    }
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
}

这里写图片描述

debug.keystore是在C:\Users\Administrator.android这个路径下,安卓默认的bebug签名
每次构建时 ProGuard 都会输出下列文件:

这里写图片描述

  • dump.txt–>说明 APK 中所有类文件的内部结构。
  • mapping.txt–>提供原始与混淆过的类、方法和字段名称之间的转换。
  • seeds.txt–>列出未进行混淆的类和成员。
  • usage.txt–>列出从 APK 移除的代码。


每次使用 ProGuard 创建发布构建时都会覆盖 mapping.txt 文件,因此每次发布新版本时都必须小心地保存一个副本。通过为每个发布构建保留一个 mapping.txt 文件副本,就可以在用户提交的已混淆堆叠追踪来自旧版本应用时对问题进行调试。


自定义要保留的代码
    要修正错误并强制 ProGuard 保留特定代码,请在 ProGuard 配置文件中添加一行 -keep 代码。例如:

    -keep public class MyClass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值