使用 Proguard 混淆 ActionBarSherlock

2024-05-07

我正在尝试使用混淆我的 Android 应用程序proguard and ant (eclipse + proguard从来不工作,总是失败error 1)。但我越来越class file ... unexpectedly contains class ...到处都是警告,构建失败。我也尝试过-ignorewarnings选项中proguard。构建成功,但我得到一个无法使用的包。

这是蚂蚁的输出:

-post-compile:

optimize:
     [jar] Building jar: /home/binoy/git/Vibhinna/proguard/unoptimized.jar
     [java] ProGuard, version 4.8
     [java] Reading input...
     [java] Warning: class [classes/com/actionbarsherlock/R$array.class] unexpectedly contains class [com.actionbarsherlock.R$array]
     [java] Warning: class [classes/com/actionbarsherlock/R$attr.class] unexpectedly contains class [com.actionbarsherlock.R$attr]
     [java] Warning: class [classes/com/actionbarsherlock/R$bool.class] unexpectedly contains class [com.actionbarsherlock.R$bool]
     [java] Warning: class [classes/com/actionbarsherlock/R$color.class] unexpectedly contains class [com.actionbarsherlock.R$color]
     ....
     [java] Warning: class [classes/com/actionbarsherlock/R$xml.class] unexpectedly contains class [com.actionbarsherlock.R$xml]
     [java] Warning: class [classes/com/actionbarsherlock/R.class] unexpectedly contains class [com.actionbarsherlock.R].
     [java] Warning: class [classes/com/vibhinna/binoy/DetailsDialogFragment$1.class] unexpectedly contains class [com.vibhinna.binoy.DetailsDialogFragment$1]
     [java] Warning: class [classes/com/vibhinna/binoy/DetailsDialogFragment.class] unexpectedly contains class [com.vibhinna.binoy.DetailsDialogFragment]
     [java] Warning: class [classes/com/vibhinna/binoy/HoloAlertDialogBuilder.class] unexpectedly contains class [com.vibhinna.binoy.HoloAlertDialogBuilder]
     [java] Warning: class [classes/com/vibhinna/binoy/MiscMethods.class] unexpectedly contains class [com.vibhinna.binoy.MiscMethods]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$1$1.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$1$1]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$1$2.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$1$2]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$1.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$1]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$10.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$10]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$11.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$11]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$2.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$2]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$3.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$3]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$4.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$4]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$5.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$5]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$6.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$6]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$7.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$7]
     [java] Warning: class [classes/com/vibhinna/binoy/NewDialogFragment$8.class] unexpectedly contains class [com.vibhinna.binoy.NewDialogFragment$8]
     ....
     [java] Warning: class [classes/com/vibhinna/binoy/Preferences.class] unexpectedly contains class [com.vibhinna.binoy.Preferences]
     [java] Warning: class [classes/com/vibhinna/binoy/ProcessManager.class] unexpectedly contains class [com.vibhinna.binoy.ProcessManager]
     [java] Warning: there were 89 classes in incorrectly named files.
     [java]          You should make sure all file names correspond to their class names.
     [java]          The directory hierarchies must correspond to the package hierarchies.
     [java]          If you don't mind the mentioned classes not being written out,
     [java]          you could try your luck using the '-ignorewarnings' option.
     [java] java.io.IOException: Please correct the above warnings first.
     [java]     at proguard.InputReader.execute(InputReader.java:133)
     [java]     at proguard.ProGuard.readInput(ProGuard.java:197)
     [java]     at proguard.ProGuard.execute(ProGuard.java:79)
     [java]     at proguard.ProGuard.main(ProGuard.java:493)

我该如何解决?


确保您的 proguard 配置文件具有建议排除 http://actionbarsherlock.com/faq.html对于 Actionbar Sherlock:

-keep class android.support.v4.app.** { *; } 
-keep interface android.support.v4.app.** { *; } 
-keep class com.actionbarsherlock.** { *; } 
-keep interface com.actionbarsherlock.** { *; } 
-keepattributes *Annotation*

也尝试添加

-keepclassmembers class **.R$* {
    public static <fields>;
}

按照建议here https://groups.google.com/d/msg/actionbarsherlock/aK3fLYg08Jw/hm5_srL1MP8J.

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

使用 Proguard 混淆 ActionBarSherlock 的相关文章

  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 如何在 javadoc 中使用“<”和“>”而不进行格式化?

    如果我写
  • 无法捆绑适用于 Mac 的 Java 应用程序 1.8

    我正在尝试将我的 Java 应用程序导出到 Mac 该应用程序基于编译器合规级别 1 7 我尝试了不同的方法来捆绑应用程序 1 日食 我可以用来在 Eclipse 上导出的最新 JVM 版本是 1 6 2 马文 看来Maven上也存在同样的
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 将 Intent 包装在 LabeledIntent 中以用于显示目的

    要求 我的应用程序中有一个 共享 按钮 我需要通过 Facebook 分享 我需要选择是否安装原生 Facebook 应用程序 我们的决定是 如果未安装该应用程序 则将用户发送到 facebook com 进行分享 当前状态 我可以检测何时
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript

随机推荐

  • 计算一个类的实例?

    我一直在清理我正在扩展的模块中的一些代码 但我似乎找不到 Pythonify 这段代码的方法 global next id 1 class Obj def init self global global next id self id gl
  • 在node.js Express框架中设置两个不同的静态目录

    是否可以 我想设置两个不同的目录来提供静态文件 假设 public 和 mnt 您还可以通过指定附加 第一个 参数来设置将静态文件提供给 Web 的路径use 像这样 app use public express static dirnam
  • Google App Maker - 在 onclick 方法中添加时间戳收集按钮

    我到处搜索 找不到有效的具体答案 我需要在应用程序制作工具中的表单中添加一个按钮 以在单击时记录时间戳 而不是日期 到目前为止 我唯一能开始工作的是 widget datasource item Timestamp OUT new Date
  • 立即更新 UserControl 中的所有绑定

    当 UserControl 的可见性更改为 Visible 时 我需要更新其上的所有绑定 几乎所有绑定都绑定到用 户控件的 DataContext 属性 因此我尝试更新该绑定的目标 BindingOperations GetBindingE
  • Rails 5:ActionMailer 的“deliver_later”从未在生产环境中交付

    我有一个非常基本的邮件程序设置 如下所示来发送交易邮件程序 class PayoutMailer lt ApplicationMailer default from email protected cdn cgi l email prote
  • Swift 3 异步调度警告

    我有这个代码 DispatchQueue global priority DispatchQueue GlobalQueuePriority default async let url URL string itemImageURL let
  • 在 SSIS 流中使用临时表失败

    我有一个 ETL 过程 可将约 40 个表从源数据库 Oracle 10g 提取到 SQL Server 2014 开发人员版 临时环境 我的提取过程 确定暂存中的最新行 从源中选择所有较新的行 将结果插入 TEMPTABLE 将 TEMP
  • 由于空数组包含电子邮件为空的文档,MongoDB 错误 E11000 重复键错误集合

    这是我正在编写的代码 const createOrgPerso new Person org newOrganisation doc id data 但空数组仍在创建中 然后再次运行这段代码 它给出E 11000 duplicate key
  • 打印 HTML 时删除默认浏览器页眉和页脚

    我得到了一个带有以下内容的 HTML 我想问的问题是 有什么方法可以删除网络浏览器添加到打印页面的字符串吗 Such as 打印页面的网站 页数 网页标题 印刷日期 这些通常是浏览器特定的打印设置 例如 在 IE 和 FireFox 中 您
  • Sweetalert 2 异步文本区域

    我尝试使用这个简单的文档示例https sweetalert2 github io https sweetalert2 github io 但我收到错误消息 未捕获的语法错误 await 仅在异步函数中有效 document ready f
  • Hibernate save() 和事务回滚

    在休眠状态下 当我save 事务中的一个对象 然后我回滚它 保存的对象仍然保留在数据库中 这很奇怪 因为这个问题不会发生在update or delete 方法 只需用save 这是我正在使用的代码 DbEntity dbEntity ge
  • 按升序选择最后 20 个顺序 - PHP/MySQL

    这是我的表结构 MyTable ID P K auto increment TopicID UID Comment 现在我想获取某个 TopicID 的最后 20 条评论 但它应该按升序排序 就像 Facebook 默认只显示最后 20 条
  • Angular刷新页面重复url中的页面

    我是一名 Angular 新手 正在构建一个简单的寻呼机 我设置了路由器 以便空 URL 重定向到仪表板组件 因此localhost 4200会自动路由到localhost 4200 dashboard完美的 但是 如果我单击刷新按钮 它会
  • mysql 更新或插入多条记录(如果表中尚不存在)

    mysql 数据库中有一个名为 inventory item 的表 id product id 和 quantity 是表的列 id 是主键 在插入记录时自动生成 当用户提交要向表中插入多条记录的表单时 可以在 foreach 循环中收集所
  • C4533 警告:为什么 goto 会跳过变量初始化?

    我越来越 警告 C4533 goto FreeDC 跳过了 b 的初始化 但是如果代码到达标签FreeDC in WM CREATE b 未初始化 如果在这种情况下未初始化 如何跳过其初始化 我只是不明白这个警告 include
  • iOS 6 模拟器卡在启动画面上

    我正在使用 Mac os 10 8 2 和 Xcode 4 5 2 当我尝试在 ios 5 5 1 模拟器中运行我的应用程序时 它工作正常 但是当我尝试在 ios 6 模拟器中运行应用程序时 它会卡在空白屏幕上 谁能让我知道我的问题的解决方
  • Gradle 构建错误:aidl.exe 以非零退出值 1 完成

    这是我的 build gradle 文件 点击查看截图 https i stack imgur com ENTbh png 和我的错误 错误 任务 app compileDebugAidl 执行失败 com android ide comm
  • 为 schtasks.exe 指定日期参数的独立于语言的方法

    我正在尝试将新任务添加到 Windows 任务计划程序schtasks exe 我现在遇到的问题是指定任务应该在一周中的哪一天运行 据我所知 愚蠢的程序坚持将该参数作为日期名称的字符串缩写 本地化为操作系统语言 其他参数可以很好地接受英语字
  • 普通的 x86 或 AMD PC 是直接从 ROM 运行启动/BIOS 代码,还是先将其复制到 RAM? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我知道现代计算机已经修改了哈佛架构 它们可以从保存数据的地方以外的地方读取指令 这一事实是否允许它们直接从 ROM 芯片获取指令 他们是先
  • 使用 Proguard 混淆 ActionBarSherlock

    我正在尝试使用混淆我的 Android 应用程序proguard and ant eclipse proguard从来不工作 总是失败error 1 但我越来越class file unexpectedly contains class 到