我怎样才能看到缩小代码的效果

Posted

技术标签:

【中文标题】我怎样才能看到缩小代码的效果【英文标题】: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'
    

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

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

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

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

Here is insightful post about how to do it.

【讨论】:

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

以上是关于我怎样才能看到缩小代码的效果的主要内容,如果未能解决你的问题,请参考以下文章

在 Flutter 中,我怎样才能更改一些小部件并看到它的动画到它的新大小?

QTableView 将小部件缩小到内容

Qt中用设计器建立的窗口和用代码生成的窗口,为啥拖拽窗口大小的效果不一样?

我怎样才能使这个动画更流畅?

我怎样才能摆脱我图像中的这条小线? (CSS3,悬停效果)

请问C#正规做WinForm程序时,SQL文都是放在哪里的?怎样放才能实现SQL和代码脱离的效果?