如何在ProGuard中使用-dontwarn?

 黎芝君1_530 发布于 2023-02-02 19:44

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

./gradlew assembleDebug

./gradlew assembleRelease

这两个版本都是完美创建并运行的.显示调试或发布的相应对话框

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

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'
    }
}

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

警告:有7个未解析的类或接口引用.您可能需要添加缺少的库jar或更新其版本.如果您的代码在没有缺少类的情况下正常工作,则可以使用"-dontwarn"选项来禁止警告.(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)

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

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

如果我将runProguard选项设置为false然后运行它.

我有这些问题:

1)用runProguard = false发布apk是否可以?

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

1 个回答
  • 当我向项目添加新的lib时通常这我需要为Progaurd定义.

    假设我正在使用Twitter4J lib,那么我就这样添加dontwarn.

    -keep class twitter4j.​​*{*; }

    -dontwarn twitter4j.​​*

    2023-02-02 19:47 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有