Delphi xe5 JNI:ClassNotFoundException

时间:2013-10-25 06:38:12

标签: android delphi java-native-interface dexclassloader

我按照stackoverflow(http://www.pclviewer.com/android/androidJNI.html)提供的教程导入了一个特定于设备的库来处理扫描仪(Honeywell 70e Black)。

TJDexClassLoader确实实例化(不是nil ...)但是我无法加载我需要的内部类...

cl.loadclass(stringtoJString('com/honeywell/decodemanager/DecodeManager'))

我在eclipse下打开了库,我多次检查字符串,没关系,但我得到了这个例外:

java.lang.ClassNotFoundException: com/honeywell/decodemanager/DecodeManager

我已经知道,如果它有效,我将立即遇到一个新问题:为我将要实例化的类提供Context和Handler,签名是:

(Landroid/content/Context;Landroid/os/Handler;)V 

提前感谢您的帮助或建议^^

1 个答案:

答案 0 :(得分:0)

我的错误是认为DexClassLoader正在生成.dex文件,但它是从.apk文件中提取它,而.jar文件不包含它。

生成.dex文件并强制进入存档后,一切都很有效!