0

虽然这个问题已经在这里被问过很多次,但答案似乎并没有真正解决我遇到的问题。
我读到在将 ADT 更新到 rev 22 后,库导入发生了一些变化,但我也尝试了所有方法,但无济于事。
现在的问题是我正在开发一个多平台应用程序,它将使用“F5 隐写术”来隐藏从设备相机捕获的 JPG 图像中的消息。目前我的目标是制作一个 android 应用程序和桌面 Java 应用程序。我从这里找到了“F5 Steganography”的 jar 文件我已经在 J​​ava 桌面应用程序中成功实现了该库,但问题出现在 android 实现中。我通过执行以下步骤将 jar 文件导入到 android 项目中:

  1. 右击libs并选择Import --> General --> File System,然后Next,在文件系统中浏览找到该库的父目录,然后在右侧窗格中检查相关的JAR
  2. 右键单击项目,选择 Build Path --> Configure Build Path,然后单击 Libraries 选项卡,然后单击 Add JARs。,导航到 libs 目录中的新 JAR 并添加它。
  3. 最后右键单击项目-->属性-->Java Buid path-->排序和导出并检查Android私有库和正在链接的库。见这里

但是问题仍然存在,即外部 jar 文件中存在的类在项目中没有被正确引用。
Log-cat 显示找不到该类。这是日志猫跟踪:

10-12 16:03:59.492: W/dalvikvm(20569): VFY: unable to find class referenced in signature (Ljava/awt/Image;)
10-12 16:03:59.492: W/dalvikvm(20569): Unable to resolve superclass of Ljames/JpegEncoder; (657)
10-12 16:03:59.492: W/dalvikvm(20569): Link of class 'Ljames/JpegEncoder;' failed
10-12 16:03:59.492: E/dalvikvm(20569): Could not find class 'james.JpegEncoder', referenced from method main.Embed.main
10-12 16:03:59.492: W/dalvikvm(20569): VFY: unable to resolve new-instance 653 (Ljames/JpegEncoder;) in Lmain/Embed;
10-12 16:03:59.492: W/dalvikvm(20569): VFY: unable to resolve static method 4683: Ljava/awt/Toolkit;.getDefaultToolkit ()Ljava/awt/Toolkit;
10-12 16:03:59.492: W/dalvikvm(20569): VFY: unable to find class referenced in signature (Ljava/awt/Image;)
10-12 16:03:59.492: W/dalvikvm(20569): Unable to resolve superclass of Ljames/JpegEncoder; (657)
10-12 16:03:59.492: W/dalvikvm(20569): Link of class 'Ljames/JpegEncoder;' failed

那么我在这里缺少什么?在链接 jar 库时我做错了什么吗?我认为过去的链接方法已经过时了。我是对的吗?

4

1 回答 1

0

您的库使用 java.awt 图形,而 android 有自己的。你应该联系 Steganography 的编辑告诉他这个问题:他们可以做一个适用于 android ui 类的适配器。

于 2013-10-12T11:40:47.030 回答