在Android上加载'dexed'JAR时解决错误

时间:2010-06-16 09:52:57

标签: android jar bundle dalvik

我正在尝试在Android上为Felix制作一个可以定期拍照的包。 所有代码编译得很好,它可以由Felix解决,但是当我尝试启动它时,我得到一个异常(java.lang.VerifyError)和logcat中的这个跟踪:

I/dalvikvm(  738): Failed resolving Lbarcode/android/CameraHandler; interface 1 'Landroid/hardware/Camera$PictureCallback;'
W/dalvikvm(  738): Link of class 'Lbarcode/android/CameraHandler;' failed
E/dalvikvm(  738): ERROR: defineClass(0x40093110, barcode.android.CameraHandler, 0x400c93b8, 0, 1769, 0x40204708)

CameraHandler类打开一个Camera对象,并实现PictureCallback和AutoFocusCallback。

.jar文件已被'dexed',通过一个简单的'dx --dex --output = classes.dex ...&& aapt add ... classes.dex'。

我不知道为什么会出现这个错误,所以如果有人有解决方案......

由于

1 个答案:

答案 0 :(得分:0)

您似乎省略了一些必要的类作为dx的参数。

如果您在android命令行工具中使用Android's Eclipse plug-increate project操作,您将获得更多成功。每个都负责按正确的顺序运行正确的工具,以构建Android规格的apk。

$ ~/android-sdk/tools/android --help

Usage:
  android [global options] action [action options]

...

Action "create project":
  Creates a new Android Project.
Options:
  -n --name     Project name
  -t --target   Target id of the new project [required]
  -p --path     Location path of new project [required]
  -k --package  Package name [required]
  -a --activity Activity name [required]