美文网首页
Android 缩减、混淆处理和优化您的应用

Android 缩减、混淆处理和优化您的应用

作者: SunnyGL | 来源:发表于2020-03-29 21:20 被阅读0次
    1、手动删除不需要的代码,资源,依赖
    2、选择合适的 ABI

    在项目级 build.gradle 文件中添加如下代码。

    android {
        defaultConfig {
            ndk {
                // 设置支持的SO库架构
                abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
            }
        }
    }
    

    上面的配置适用于所有 arm 架构的 CPU,如果需要支持其他架构 CPU,请自行修改。

    3、启用缩减、混淆处理和优化功能

    在项目级 build.gradle 文件中添加以下代码。

    android {
        buildTypes {
            release {
                // 启用代码缩减
                minifyEnabled true
                // 启用资源缩减
                shrinkResources true
                // 配置代码混淆规则
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
                        'proguard-rules.pro'
            }
        }
    }
    

    配置上述代码后,会带来以下影响。

    代码缩减(即摇树优化):从应用及其库依赖项中检测并安全地移除未使用的类、字段、方法和属性(这使其成为了一个对于规避 64k 引用限制非常有用的工具)。例如,如果您仅使用某个库依赖项的少数几个 API,缩减功能可以识别应用“未”使用的库代码并仅从应用中移除这部分代码。启用代码缩减将会自动启用混淆处理。

    资源缩减:从封装应用中移除不使用的资源,包括应用库依赖项中的不使用的资源。此功能可与代码缩减功能结合使用,这样一来,移除不使用的代码后,也可以安全地移除不再引用的所有资源。

    混淆处理:缩短类和成员的名称,从而减小 DEX 文件的大小。

    代码优化:检查并重写代码,以进一步减小应用的 DEX 文件的大小。例如,如果 R8 检测到从未采用过给定 if/else 语句的 else {} 分支,则会移除 else {} 分支的代码。

    相关文章

      网友评论

          本文标题:Android 缩减、混淆处理和优化您的应用

          本文链接:https://www.haomeiwen.com/subject/hjhpuhtx.html