SAAgent.class 上的 Proguard 错误

2024-02-09

我正在开发一个Samsung Gear与三星的应用程序accessory-v1.0.0.jar.

当我尝试创建签名的 apk(执行 proguard 步骤)时,我得到Unknown verification type [10] in stack map frame例外,因为三星SAAgent上课于accessory-v1.0.0.jar.

我找不到任何解决方案,您有解决方法吗?

三星的 SPen SDK 上存在类似问题(此问题在更高版本的 SPen SDK 上已解决) https://stackoverflow.com/questions/8877452/proguard-4-7-with-eclipse-sdk-3-7-1-proguard-fails-with-java-io-ioexception

到目前为止我尝试过的方法对我没有帮助:

1)添加了以下混淆器元素:

-keepclassmembers class com.samsung.** { *; }
-keep class com.samsung.** { *; } 
-dontwarn com.samsung.**
-keepattributes InnerClasses 

2)使用过的混淆器4.7 and 4.11.

3)创建了一个新的Android项目,仅在其libs文件夹中添加了accessory-v1.0.0.jar,我没有编写任何代码并尝试对apk进行签名。发生同样的错误。

[2014-05-22 17:13:06 - SAGalleryProguardTest] Proguard returned with error code 1. See console
[2014-05-22 17:13:06 - SAGalleryProguardTest] java.io.IOException: Can't read [C:\Devel\Workspace\SAGalleryProguardTest\libs\accessory-v1.0.0a.jar] (Can't process class [com/samsung/android/sdk/accessory/SAAgent.class] (Unknown verification type [10] in stack map frame))
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.InputReader.readInput(InputReader.java:230)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.InputReader.readInput(InputReader.java:200)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.InputReader.readInput(InputReader.java:178)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.InputReader.execute(InputReader.java:78)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.ProGuard.readInput(ProGuard.java:196)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.ProGuard.execute(ProGuard.java:78)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.ProGuard.main(ProGuard.java:492)
[2014-05-22 17:13:06 - SAGalleryProguardTest] Caused by: java.io.IOException: Can't process class [com/samsung/android/sdk/accessory/SAAgent.class] (Unknown verification type [10] in stack map frame)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.io.ClassReader.read(ClassReader.java:112)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.io.JarReader.read(JarReader.java:65)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.InputReader.readInput(InputReader.java:226)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   ... 6 more
[2014-05-22 17:13:06 - SAGalleryProguardTest] Caused by: java.lang.RuntimeException: Unknown verification type [10] in stack map frame
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.classfile.io.ProgramClassReader.createVerificationType(ProgramClassReader.java:890)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.classfile.io.ProgramClassReader.visitFullFrame(ProgramClassReader.java:659)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.classfile.attribute.preverification.FullFrame.accept(FullFrame.java:114)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.classfile.io.ProgramClassReader.visitStackMapTableAttribute(ProgramClassReader.java:452)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.classfile.attribute.preverification.StackMapTableAttribute.accept(StackMapTableAttribute.java:71)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.classfile.io.ProgramClassReader.visitCodeAttribute(ProgramClassReader.java:422)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.classfile.attribute.CodeAttribute.accept(CodeAttribute.java:101)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.classfile.io.ProgramClassReader.visitProgramMethod(ProgramClassReader.java:200)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:142)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   at proguard.io.ClassReader.read(ClassReader.java:91)
[2014-05-22 17:13:06 - SAGalleryProguardTest]   ... 11 more

我不认为你可以在 ProGuard 配置中添加任何内容来解决这个问题。这是一个问题accessory-v1.0.0.jar由三星构建,他们必须在 SDK 更新中修复它。

我已按照此处列出的步骤进行操作(http://sourceforge.net/p/proguard/bugs/420/ http://sourceforge.net/p/proguard/bugs/420/)建立一个proguard.jar库(基于 v.4.11)将忽略此错误。然后导出使用 ProGuard 构建的签名发布 apk 成功完成。

我也在使用这些配置设置:

-keep class com.samsung.** { *; }    
-keep class * extends com.samsung.** { *; }

我构建的 proguard.jar 可以在这里找到:http://www.codingcaveman.com/download/proguard.jar http://www.codingcaveman.com/download/proguard.jar

您可以将其放入您的AndroidSDK\tools\proguard\lib文件夹,但复制原始文件 - 您可能不应该将其用于其他项目。更好的是,修改你的proguard.config路径进入project.properties指向与普通 proguard 库不同的路径。

免责声明:这是一个临时解决方法,而不是修复方法 - 使用风险由您自行承担。三星应该在更新的 SDK 中提供适当的修复。话虽这么说,我在自己的测试中没有发现任何问题。

UPDATE:使用 Samsung Accessory SDK v2.0.19 不再是问题

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

SAAgent.class 上的 Proguard 错误 的相关文章

  • 确定是否在已取得 root 权限的设备上运行

    我的应用程序具有某些功能 该功能只能在具有 root 权限的设备上运行 与其让此功能在使用时失败 然后向用户显示适当的错误消息 我更喜欢能够先默默地检查 root 是否可用 如果不可用 则首先隐藏相应的选项 有没有办法做到这一点 这是一个类
  • 在phonegap中播放本地声音

    我有一个 wav文件在我的www文件夹 我正在使用 jQuery 和以下代码 警报响起 但声音不播放 难道我做错了什么
  • 更改首选项的背景颜色

    我有一个PreferenceCategory xml 文件 我已经在其中定义了所有首选项 我从扩展的类中调用它PreferenceActivity 我无法设置设置屏幕的背景 该屏幕是在如下所示的 xml 文件的帮助下显示的 请看我已经定义了
  • 如何使用 Android 版 Facebook 同步的联系人图片

    我的手机上安装了 Android 版 Facebook 它会自动将联系人列表中人员的 FB 个人资料图片同步到我的手机 我想在我访问的应用程序中使用这些图片ContactsContract PhoneLookup 我真的需要 Faceboo
  • fresco 的 Proguard 错误

    我正在使用 ProGuard 当我在发布配置中运行项目时 出现以下错误 Warning com facebook imagepipeline bitmaps DalvikBitmapFactory can t find referenced
  • Android,让文本切换器成为中心?

    如何集中我的文本切换器 我尝试过设置重力 但似乎不起作用 ts setFactory new ViewFactory public View makeView TextView t new TextView this t setTypefa
  • Android 上通过 JSCH 的基本 SSH 连接

    作为来自此的用户question https stackoverflow com questions 14323661 simple ssh connect with jsch和这个tutorial http eridem net andr
  • PhoneGap 是应用程序开发的好选择吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Android,语言文件不起作用

    我现在正在创建一个 Android 应用程序 并尝试为我的母语添加语言文件 但在某种程度上 这对我不起作用 我尝试在两部不同的手机中加载该应用程序 但结果相同 之前创建过语言文件 效果良好 但这次不行 手机设置为瑞典语 语言文件适用于我创建
  • 从Asynctask返回结果

    如果我的 Android 应用程序中有这个后台工作文件 并且它从我的数据库获取数据 我如何将字符串 结果 传递给另一个类 后台工作人员连接到我的服务器 然后使用 php 连接到数据库 public class BackgroundWorke
  • 注销时Firebase facebook按钮android身份验证

    我在我的 Android 应用程序中使用 firebase 并在 facebook SDK 中使用登录 我面临的唯一问题是 当我使用 facebook 登录然后注销时 facebook 登录按钮处于 注销 状态 当我单击它时 它会询问我是否
  • 安卓;在 AdapterViewFlipper 上设置输入/输出动画:未知的动画师名称翻译

    我有一些非常简单的动画 可以与 ViewFlipper 完美配合 但如果我尝试在 AdapterViewFlipper 输入 输出上设置它们 我会收到运行时错误 未知的动画师名称翻译 查看每个方法的相应方法 看起来 ViewFlipper
  • 如何在Firebase Android应用程序中分离两个不同的用户?

    我有一个应用程序 有两种不同类型的用户 一种是教师 第二种是普通用户 如果普通会员登录 他会去normal memberActivity如果他是教师会员 他会去Teacher memberActivity 我如何在登录活动中执行此操作 我的
  • 如何在代码中设置TextView的文字颜色?

    在 XML 中 我们可以通过以下方式设置文本颜色textColor属性 比如android textColor FF0000 但如何通过编码来改变它呢 我尝试过类似的东西 holder text setTextColor R color R
  • 如何在不改变的情况下将字符串转换为字节?

    我需要一个解决方案将字符串转换为字节数组而不需要像这样进行更改 Input String s Test Output String s Test byte b Test 当我使用 s getBytes 那么回复是 B 428b76b8 但我
  • 将搜索结果更新为 Android 中的 Lazy Adapter

    我有项目列表 想为其实现搜索功能 因此 我有一个带有 addTextChangedListener 的文本框 搜索结果运行良好 但当我尝试将结果设置为 ListView 时 新结果将附加到旧结果中 我正在使用惰性适配器 如何清除适配器中的旧
  • 如何在Android中隐藏应用程序标题? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想隐藏应用程序标题栏 您可以通过编程来完成 import android app Activity import android os
  • EditText 的高度不会扩展到其父级的高度

    我在滚动视图中放置了编辑文本 高度 match parent并期望它的高度等于滚动视图 但事实并非如此 它的高度就像wrap content这意味着如果 EditText 中没有文本 我必须将光标指向要弹出的软键盘的第一 行 我想要的是我可
  • 在Android中提取视频帧

    我想知道是否可以从 Android 中正在运行的视频中提取帧 我需要定期提取帧并将其发送以进行进一步处理 有人能为我找到答案吗 Thanks Abhi 您可以使用媒体元数据检索器 http developer android com ref
  • 如何手动添加Android Studio依赖

    我多次尝试向我的项目添加依赖项 但每次都会出现错误 我想添加它们的依赖项是 de hdodenhof circleimageview 1 3 0 and com github bumptech glide glide 3 6 1 所以我想下

随机推荐

  • 查询 INFORMATION_SCHEMA 时出现死锁

    我有一个进程可以根据已发布的元数据层的更改动态更改 SQL2K5 表结构 例如 如果需要添加新列并且表没有依赖项 步骤将是 1 使用 T SQL 为表中已存在的任何索引和主键创建脚本 这些脚本包含在下面 2 删除表 3 从具有新列的元层重新
  • 在 Swift 3 中将可选字符串转换为双精度

    我有一个选项字符串 想将其转换为双精度 这在 Swift 2 中有效 但自从转换为 Swift 3 后 我得到的值为 0 var dLati 0 0 dLati latitude as NSString doubleValue 我进行了检查
  • firestore规则路径的大小

    我试图在 firestore 规则中使用路径的大小 但无法让任何东西发挥作用 并且在 firestore 文档中找不到有关如何执行此操作的任何参考 我想使用最后一个集合名称作为规则中的参数 所以尝试了以下方法 match test docu
  • IBM Worklight 5.0.6 - 如何向 Android 环境添加启动屏幕?

    我在尝试在 Android 中添加启动屏幕时遇到问题 下面是我使用的代码 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState su
  • T-SQL 将秒格式化为 HH:MM:SS 时间

    有没有什么棘手的方法来格式化秒 例如小时 分钟 秒 例如 3660 秒将显示为 01小时01分00秒 or 01 01 00 我知道执行此操作的标准方法 将所有秒除以 3600 即可得到小时 将剩余秒数除以 60 即可得到分钟 剩下的都是秒
  • 使用 PHP 函数自动向 标签添加宽度和高度属性

    我想要的是一个可以根据用户输入运行的函数 该函数将智能地查找并添加width and height任何属性 img HTML blob 中的标记 以避免图像加载时的页面重排问题 我正在为 PHP 论坛编写发布脚本 其中用户的输入在写入数据库
  • JQuery ajax 加载 XML,在 IE 或 Edge 中不起作用

    这是我目前拥有的 xml
  • 如何获取显示器序列号?

    有谁知道如何用 C 或 C 获取连接的显示器序列号 我找到了一些代码 但它们是用vbs编写的 我不明白 我需要一些用 C 或 C 编写的示例代码 我知道序列号是从 EDID 读取的 但不幸的是我不知道如何 有人可以帮助我吗 Thanks 更
  • 是否可以在无头模式下使用 JDT 加载 eclipse Java 项目?

    我有一个 Eclipse Java 项目 想要获取项目源目录 类路径等信息 我当前的实现解析 project文件 但由于我没有找到任何描述其结构的官方文档 project文件中 我对这种方法的稳健性有些担忧 一种更方便 更可靠的方法是使用
  • 智能指针。何时、何地以及如何?

    首先 由于智能指针有不同类型 我想将这个问题集中在其中两种 引用计数侵入式智能指针和非侵入式智能指针 针对每种指针类型单独询问该问题 我不太确定如何提出我的问题 所以这就是我不问的 我不是问为什么或何时需要智能指针 也不知道我应该使用哪种类
  • 如何在运行时修改我的 App.exe.config 键?

    在我的 app config 中我有这个部分
  • CRAN 包提交 - R CMD 检查

    我正在构建一个想要提交给 CRAN 的包 我完成了 R CMD 检查 使用 devtools check 并确保在构建我的包 devtools build 之前修复所有错误 警告和注释 然后将生成的 tar gz 文件提交到 CRAN 然而
  • 单元测试、黑盒测试和白盒测试[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 什么是单元测试 黑盒测试和白盒测试 我用谷歌搜索 但我发现的所有解释都非常技术性 任何人都可以用适当的例子以简单的方式回答这个问题吗
  • Laravel 4:如果帖子不存在,则使用控制器重定向页面 - 尝试过但到目前为止失败

    我正在使用 Laravel 4 我有一个显示帖子的页面 例如example com posts 1 显示数据库中的第一篇文章 我想要做的是 如果有人尝试访问不存在的网址 则将页面重定向到索引 例如如果没有帖子编号 6 则 example c
  • 将函数包装在同一文件中

    我需要你的建议来包装我现有的功能 我来自测试团队 我需要编写单元测试用例 所以我不想依赖原始定义 所以尝试编写我自己的定义 以下是不应更改的源代码 来源 c include
  • 从 Windows 窗体迁移到 WPF...值得吗?

    我还有一个用 Windows 窗体编写的中等大小的桌面应用程序 由数据库中的 46 个表支持的几十个主要窗体 我正在考虑在 WPF 中重写 UI 但在我去那里之前 我很好奇是否有任何关于进行此类转换的战争故事 I use LLBLGen h
  • .Net 4 的 MiscUtil 会有更新吗?

    我想知道MiscUtil http www yoda arachsys com csharp miscutil 如果我没记错的话 由 Jon Skeet 维护 NET 4 是否会有更新 或者代码现在是否已移至其他地方 我的意思是 解决方案类
  • 在 Qt 中如何将 QVariant 转换为 QString,反之亦然?

    如何将 QVariant 转换为 QString 反之亦然 Thanks 从字符串 QString qs QVariant qv qs 至字符串 QString qs qv toString 提示 阅读help http doc qt io
  • Java 中是否有一个类可以对一周中的当地时间进行编码?

    我想制定一个一周一周的时间表 因为每周的时间表都是相同的 所以我需要存储的唯一信息是星期几及其发生的时间 例如 Monday 2 30pm 实际日期并不重要 时区也不重要 到目前为止 我一直在编写将日期和时间分开的代码 使用DayOfWee
  • SAAgent.class 上的 Proguard 错误

    我正在开发一个Samsung Gear与三星的应用程序accessory v1 0 0 jar 当我尝试创建签名的 apk 执行 proguard 步骤 时 我得到Unknown verification type 10 in stack