使用 Android proguard 忽略外部库

2023-12-14

我想使用 Proguard 主要是出于混淆的原因。

我在 Android 中遇到了 proguard 的问题。我使用simpleframework来解析XML;它的外部。

在 proguard cfg 中:

    -keepattributes *Annotation*,EnclosingMethod    
    -keep public class org.simpleframework.**{ *; }
    -keep public class org.simpleframework.xml.**{ *; }
    -keep public class org.simpleframework.xml.core.**{ *; }
    -keep public class org.simpleframework.xml.util.**{ *; }
    -keep public class org.simpleframework.xml.stream.**{ *; }
    -keep public class javax.** { *; }
    -keep public class javax.xml.stream.**{ *; }

    -keep public class org.simpleframework.** {
      public void set*(***);
      public *** get*();
    }

error:

Warning: org.simpleframework.xml.stream.StreamProvider: can't find referenced class javax.xml.stream.XMLInputFactory
Warning: org.simpleframework.xml.stream.StreamProvider: can't find referenced class javax.xml.stream.XMLInputFactory
Warning: org.simpleframework.xml.stream.StreamProvider: can't find referenced class javax.xml.stream.XMLInputFactory
Warning: org.simpleframework.xml.stream.StreamProvider: can't find referenced class javax.xml.stream.XMLInputFactory
Warning: org.simpleframework.xml.stream.StreamProvider: can't find referenced class javax.xml.stream.XMLInputFactory
Warning: org.simpleframework.xml.stream.StreamProvider: can't find referenced class javax.xml.stream.XMLEventReader
Warning: org.simpleframework.xml.stream.StreamProvider: can't find referenced class javax.xml.stream.XMLEventReader
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.XMLEventReader
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.XMLEventReader
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.XMLEventReader
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.XMLEventReader
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.XMLEventReader
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader$Entry: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader$Entry: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader$Entry: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader$Entry: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader$Entry: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader$Entry: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.Location
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.events.StartElement
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.events.StartElement
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.Location
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.events.StartElement
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.events.StartElement
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.Location
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader$Start: can't find referenced class javax.xml.stream.events.Attribute
Warning: org.simpleframework.xml.stream.StreamReader$Text: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader$Text: can't find referenced class javax.xml.stream.events.Characters
Warning: org.simpleframework.xml.stream.StreamReader$Text: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader$Text: can't find referenced class javax.xml.stream.events.Characters
Warning: org.simpleframework.xml.stream.StreamReader$Text: can't find referenced class javax.xml.stream.events.Characters
Warning: org.simpleframework.xml.stream.StreamReader$Text: can't find referenced class javax.xml.stream.events.XMLEvent
Warning: org.simpleframework.xml.stream.StreamReader$Text: can't find referenced class javax.xml.stream.events.XMLEvent

我不知道如何解决这个问题。 gradle cfg 的路径没问题。

在 gradle 中:

    buildTypes {
        release  {
            runProguard true
            proguardFile file('proguard.txt')
            signingConfig signingConfigs.release
        }
    }

感谢 eXistPierre 的帖子,这是我让它工作所需的最低限度:

-libraryjars <java.home>/lib/rt.jar(java/**,javax/**)
-keep public class org.simpleframework.**{ *; }
-keep class org.simpleframework.xml.**{ *; }
-keep class org.simpleframework.xml.core.**{ *; }
-keep class org.simpleframework.xml.util.**{ *; }
-keepattributes *Annotation*
-keepattributes Signature

我还需要添加以下内容,以便我可以读取和写入我的类对象:

-keepclassmembers class com.package.app.ClassItem{ *; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Android proguard 忽略外部库 的相关文章

随机推荐

  • 自动建议短语/句子完成

    我正在构建一个应用程序 我希望我的应用程序能够读取用户在输入文本框中输入的内容 并根据到目前为止的句子向用户提供两个事物 1 他们正在输入的可能短语列表 以便轻松自动完成 我猜我会使用预设的短语列表 我可以通过搜索来获得这些建议 2 根据句
  • PerformSelector 不工作

    MyThreadRun 方法是这样从 MyMethod 调用的 NSArray args NSArray arrayWithObjects arg1 target NSStringFromSelector mySelector nil NS
  • 单元测试 Zsh 完成脚本

    我正在尝试为 Zsh 编写一个完成脚本 我想对完成脚本进行单元测试 例如 我想测试完成情况my command h包括 help 对于鱼 我可以使用complete C my command h 然后会输出 help以及任何其他有效的完成情
  • 如何在两台具有公共IP但都位于LAN后面的机器之间进行通信(python解决方案)?

    正在寻找一个简单的 python 解决方案 假设机器A的本地IP是192 168 1 5 公共IP是111 11 111 11 机器B的本地IP是10 0 0 5 公共IP是222 22 222 22 现在我需要在这两台机器之间进行通信 你
  • 如何在 C 中更新 GTK+-3.0 中的标签

    我似乎无法使用该功能 gtk label set text 这就是我写的 include
  • 执行多重响应;如何从响应中读取和存储指南

    我正在使用 ExecuteMultipleResponse 方法使用 SSIS 一次插入 10 条帐户记录 List
  • 什么是算法摊销分析? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 它与渐近分析有何不同 你什么时候使用它 为什么 我读过一些似乎写得很好的文章 例如 http www ugrad cs ubc ca cs320 2010W2 handouts
  • 无法进行空手道测试

    我无法在我的功能中运行空手道测试 package api import com intuit karate junit4 Karate import org junit runner RunWith RunWith Karate class
  • Linux下如何删除包含其他子目录和文件的目录?

    我有一个包含文件和其他目录的目录 我需要在一个命令中删除所有内容 但如果我确定要删除 i 则无需询问我每个文件 有什么命令吗 您需要递归删除该文件夹 rm r folder name From rm help r R recursive r
  • 如何从Python中的列表构造矩阵?

    我是 Python 新手 我的问题是如何从一些列表构造矩阵 例如 如果我有列表 388 625 174 125 157 25 166 375 432 25 606 125 326 25 202 75 383 5 718 25 630 284
  • 如何将 pandas 方法作为参数传递?

    我有一个计算 pandas 数据框的列模式的函数 def my func df for col in df columns stat df col mode print stat 但我想让它更通用 以便我可以更改我计算的统计数据 例如mea
  • ggplot2 中的默认中断 - 图例指南和极坐标 y 轴标签的中断限制在哪里

    这本质上是一个后续问题ggplot 如何计算其默认中断 当我试图找到一个稍微更优雅的解决方案时 我遇到了这个如何在coord 极坐标图ggplot中添加y轴标签 显然 休息时间总是用以下方式计算scales extended breaks
  • C# 从 Azure 检索 blob 列表

    我需要一些存档清理代码来在一定的保留期过后删除旧的 Azure 日志 我知道我可以这样做 CloudStorageAccount storageAccount CloudStorageAccount Parse CloudBlobClien
  • 修改x轴位置

    当你使用plot在 Matlab 中调用函数时 y 轴和 x 轴分别位于左侧和底部 但我希望 x 轴在图的中间穿过 比例和数字如下所示 请原谅我的业余绘画技巧 但基本上我希望 x 轴移动到顶部 例如 我希望那里有数字和那些小凸起 如红线所示
  • 如何使用计时器替换Azure辅助角色中的Thread.Sleep(...)?

    有很多人说要使用的例子Timer代替Thread Sleep in an Azure Worker Role 没有问题 我很难理解的是如何编写这个代码 目前 我有以下 伪代码 timer Elapsed sender args gt DoW
  • 记住状态 chrome 扩展

    我使用 chrome 扩展来触发两个内容脚本来注入 css 如果用户打开页面 则 contentscript on js 加载 在我的 manifest json 中定义 清单 json name tools version 1 1 des
  • AngularJS 路由器配置不起作用

    我刚刚开始学习 Angular JS 我编写了一些路由测试代码 但似乎不起作用 演示应用程序 js var demoApp angular module demoApp demoApp config function routeProvid
  • 在 Ionic 中打开适用于 Android 的应用程序

    我目前正在使用 Ionic Framework 开发适用于 iOS 和 Android 的移动应用程序 我有自己的 Map API 但缺乏导航功能 当用户单击 POI 时 我的应用程序可以打开其他地图应用程序 例如 Google 地图或 W
  • Chart.js yAxes 刻度步长不起作用(小提琴)

    我创建了一个折线图 其中 y 轴选项如下 yAxes ticks precision 1 stepSize 18 1 min 148 5 max 220 9 因此 我希望 y 轴比例如下 220 9 202 8 184 7 166 6 14
  • 使用 Android proguard 忽略外部库

    我想使用 Proguard 主要是出于混淆的原因 我在 Android 中遇到了 proguard 的问题 我使用simpleframework来解析XML 它的外部 在 proguard cfg 中 keepattributes Anno