如何在ProGuard中使用-dontwarn? [英] How to use -dontwarn in ProGuard?

查看:678
本文介绍了如何在ProGuard中使用-dontwarn?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用android studio来构建调试和发布应用程序. 当我构建调试/发布应用程序时

I am using android studio to build debug and release application. When i build debug/release application

./gradlew assembleDebug

./gradlew assembleRelease

两个构建都可以完美创建并运行.显示适当的对话框以进行调试或发布

both build are created perfectly and run as well. Shows appropriate dialog box for debug or release

现在我在build.gradle中添加了proguard详细信息:

now i have added proguard details in build.gradle:

signingConfigs {
    myConfig {
           storeFile file("keystore.jks")
           storePassword "abc123!"
           keyAlias "androidreleasekey"
           keyPassword "pqrs123!"
    }
}

buildTypes {
    release {
        runProguard true
        proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
        signingConfig signingConfigs.myConfig
    }
}
productFlavors {
    defaultFlavor {
        proguardFile 'proguard-rules.txt'
    }
}

现在它在事件日志中显示为错误

Now it shows error in event log as

警告:有7个未解决的对类或接口的引用. 您可能需要添加缺少的库jar或更新其版本. 如果您的代码正常运行而没有缺少类,则可以取消 带"-dontwarn"选项的警告. ( http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass )

Warning: there were 7 unresolved references to classes or interfaces. You may need to add missing library jars or update their versions. If your code works fine without the missing classes, you can suppress the warnings with '-dontwarn' options. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)

警告:有2个未解决的对程序类成员的引用. 您的输入类似乎不一致. 您可能需要重新编译代码.

Warning: there were 2 unresolved references to program class members. Your input classes appear to be inconsistent. You may need to recompile the code.

( http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember ) :Flash Sales:proguardDefaultFlavorRelease FAILED

(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember) :Flash Sales:proguardDefaultFlavorRelease FAILED

如果我将runProguard选项设置为false,那么它将运行.

If i turn the runProguard option to false then its running.

我有以下问题:

1)可以用runProguard = false释放apk吗?

1) is it ok to release apk with runProguard = false?

2)在创建发行版时如何使用dontwarn?

2) How to use dontwarn while creating release build?

推荐答案

当我向项目添加新库时,通常这是我需要为Progaurd定义的方式.

When I add new lib to project Generally this How I need to define for Progaurd.

假设我正在使用Twitter4J lib,然后以这种方式添加dontwarn.

Let's say I am using Twitter4J lib then I add dontwarn this way.

-保持类twitter4j.​​* {*; }

-keep class twitter4j.** { *; }

-dontwarn twitter4j.​​*

-dontwarn twitter4j.**

这篇关于如何在ProGuard中使用-dontwarn?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆