(使用通过混淆+自己第三方保留成功混淆)AndroidStudio 混淆打包

本文介绍了如何在Android Studio中进行混淆打包,强调混淆设置对于项目功能的重要性。在混淆后,APK文件的大小会减小。通常,模块间的依赖不必单独设置混淆规则。文中提供了一个主模块build.gradle的示例,并指出当项目包含JNI时,混淆可能导致问题,特别是影响JNI回调方法。为了解决这个问题,需要在proguard.cfg中添加特定规则来保留JNI回调的类名。
摘要由CSDN通过智能技术生成

AndroidStudio中的项目可以用compile的形式引入github上的开源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式。在最终realease打包时,混淆的设置是比较重要的,否则会导致生成的包有很多功能不能正常使用。下面列举一个基本的app的build.gradle和混淆文件。并注意,混淆打包后的apk文件大小会比不使用混淆要小。

在app根目录下设置build.gradle和混淆文件,然后把混淆选项写入混淆文件就可以。虽然app项目中可能引用了一些module,但这些module工程可以不定义自己的混淆,我的工程目录结构如下:

其中app是应用主模块,引用剩余的module,被引用module的build.gradle中都使用默认的设置不启用混淆:

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

在主目录的build.gradle:

复制代码
apply plugin: 'com.android.application'

def releaseTime() {
    return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}

repositories {
    maven {
        url 'https://oss.sonatype.org/content/repositories/snapshots'
    }
}
android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'
    defaultConfig {
        applicationId "com.*****.****" //自己的applicationId
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    //执行lint检查,有任何的错误或者警告提示,都会终止构建,我们可以将其关掉。
    lintOptions {
        abortOnEr
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值