【问题标题】:how can i see the effect of the minified code我怎样才能看到缩小代码的效果
【发布时间】:2016-11-07 06:32:41
【问题描述】:

在 build.gradle 文件中,我将 minifyEnabled 设置为 true,如下面的代码所示。我的问题是我怎样才能看到这个声明的效果?或者换句话说,当我试图缩小代码并混淆它时, 我在哪里可以看到缩小和混淆的代码在哪里这个语句的结果。

build.gradle:

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

【问题讨论】:

    标签: android gradle android-gradle-plugin proguard build.gradle


    【解决方案1】:

    验证您的项目是否已应用收缩和混淆的最简单方法可能是检查映射文件是否存在。

    在使用 gradle 构建 android 过程中执行 ProGuard 时,会自动生成以下文件(位于build/outputs/mapping/<buildtype>/):

    • mapping.txt:包含从原始类/类成员名称到混淆名称的映射
    • seeds.txt:包含收缩过程中使用的种子,即-keep规则中指定的类/类成员
    • usage.txt:包含收缩期间移除的类

    通过这些文件的存在和内容,您可以验证 ProGuard 是否已正确执行。

    【讨论】:

    • 现在的问题是,我无法在android studio中启用proguard。每当我将 minifyEnabled 设置为 true 并同步时,我都会收到错误消息。请在此处查看我的问题:stackoverflow.com/questions/38203688/…
    【解决方案2】:

    您可以通过简单的方式检查它,只需提取您的 apk,反编译 .dex 文件并查看反编译源即可。

    混淆代码应该改变了类、函数、变量名。

    Here is insightful post about how to do it.

    【讨论】:

    • 现在的问题是,我无法在android studio中启用proguard。每当我将 minifyEnabled 设置为 true 并同步时,我都会收到错误消息。请在此处查看我的问题:stackoverflow.com/questions/38203688/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2021-11-25
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    相关资源
    最近更新 更多