如何在我的android项目中添加规则?

时间:2017-10-30 13:02:57

标签: android android-studio

我关注this tutorial并且有一节说明:

  

如果您使用Picasso作为图像引擎,请添加规则,如Picasso的README所述。并添加额外的规则:

     
    

-dontwarn com.bumptech.glide。**

  

对如何添加-dontwarn com.bumptech.glide.**感到困惑? 我尝试了compile '-dontwarn com.bumptech.glide.**compile 'com.bumptech.glide.**,但两次尝试都失败了。

请有人可以指导我完成吗?

对不起初学者的问题

2 个答案:

答案 0 :(得分:0)

此规则与proguard

有关

因此您应将其添加到moduleForComponent('editors/steps/call-handler', 'Integration | Component | editors/steps/call handler', { integration: true, beforeEach: function () { startApp(); this.server = startMirage(); ... }, afterEach: function () { this.server.shutdown(); } }); test('...', function (assert) { ... this.server.post('/projects/12/actionwords/1/switch/', () => { assert.ok(true, "switch route is called"); return { ... some JSON data } }); this.render(hbs`{{editors/steps/call-handler ... }}`); ... and then some manipulation of the component }); 文件

你可以在这里阅读更多https://developer.android.com/studio/build/shrink-code.html

答案 1 :(得分:0)

由于收缩和安全原因,

proguard会更改代码的引用和结构(特别模糊名称),但这对第3方库来说并不好。

  

应用程序项目模糊整个代码库,包括任何引用的库,因此需要对应用程序代码和库代码进行适当的配置。

     

在你的情况下滑行

因此规则告诉proguard保持代码不变(保持命令)。

来自gradle的示例代码

minifyEnabled true
        shrinkResources false

        debuggable false
        proguardFiles getDefaultProguardFile(
                'proguard-android.txt'),'proguard-rules.pro'

因此您看到规则是用两个文件编写的,proguard-android是可以在SDK文件夹中找到的默认文件。

proguard-rules在你的app文件夹中。 通过minifyEnabled true启用proguard。

因此,您的主要问题是您不知道如何添加规则 以下是大多数着名的安卓库here的ProGuard规则 但最好还是查看图书馆页面,只需google一下,例如glide + proGuard

这是我的一个滑行项目的示例代码,将其写入 proguard-rules.pro

-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.GeneratedAppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
    **[] $VALUES;
    public *;
}