3

だから私はそれを自分のアプリに実装しようとしていますが、問題はそれがソロアプリケーションとして機能しないため、起動するたびにクラッシュすることです。次のチュートリアルhttp://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/のように私はあらゆることをしますが、どういうわけか動作しません。だから私はライブラリではなくアプリケーションとしてcaptureActivityを開始しようとしましたが、それをしようとすると開始時にクラッシュします:

 private static final Set<ResultMetadataType> DISPLAYABLE_METADATA_TYPES =
  EnumSet.of(ResultMetadataType.ISSUE_NUMBER,
             ResultMetadataType.SUGGESTED_PRICE,
             ResultMetadataType.ERROR_CORRECTION_LEVEL,
             ResultMetadataType.POSSIBLE_COUNTRY);

これは、core.jar を正しくコンパイルしなかったという問題につながります。しかし、どこで間違いを犯すのかわかりません。core ディレクトリで ant -f を実行すると、core.jar が表示されます。私は何ができるでしょうか?

編集: logcat:

 01-06 02:07:08.280: E/AndroidRuntime(1629): FATAL EXCEPTION: main
 01-06 02:07:08.280: E/AndroidRuntime(1629): java.lang.ExceptionInInitializerError
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at java.lang.Class.newInstanceImpl(Native Method)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at java.lang.Class.newInstance(Class.java:1409)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at android.os.Handler.dispatchMessage(Handler.java:99)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at android.os.Looper.loop(Looper.java:130)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at android.app.ActivityThread.main(ActivityThread.java:3683)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at java.lang.reflect.Method.invokeNative(Native Method)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at java.lang.reflect.Method.invoke(Method.java:507)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at dalvik.system.NativeStart.main(Native Method)
 01-06 02:07:08.280: E/AndroidRuntime(1629): Caused by: java.lang.NoClassDefFoundError: com.google.zxing.ResultMetadataType
 01-06 02:07:08.280: E/AndroidRuntime(1629):    at com.google.zxing.client.android.CaptureActivity.<clinit>(CaptureActivity.java:107)
 01-06 02:07:08.280: E/AndroidRuntime(1629):    ... 15 more
 01-06 02:07:08.740: E/GoKeyboard(1442): error setSuggestions isNotInput()!
 01-06 02:07:09.140: E/GoKeyboard(1442): error setSuggestions isNotInput()!
 01-06 02:07:11.600: E/GoKeyboard(1442): error setSuggestions isNotInput()!
 01-06 02:07:11.600: E/GoKeyboard(1442): error setSuggestions isNotInput()!

今、私はここからコアをダウンロードしましたhttp://mvnrepository.com/artifact/com.google.zxing/core/2.0そしてそれを使用して同じ間違いを盗んだので、それは何か別のものでなければなりません...

4

2 に答える 2

4

[プロパティ] -> [Java ビルド パス] -> [注文とエクスポート] に移動します。

次に、core.jar を最初の位置に並べて選択します。

操作後にプロジェクトをクリーンアップする必要があります。プロジェクト -> クリーン

これで問題は解決します。誰かの時間を節約できることを願っています。

于 2012-10-23T10:12:28.327 に答える
0

ADT の最新バージョンの主な問題は、switch-case ステートメント内でリソース定数を使用できないことです。 解決策は、エラーを示して if-else に変換する switch-case ステートメントのhttp://tools.android.com/tips/non-constant-fieldsのURL にある指示に従うこと です。この方法はzxing2.1でうまくいきました。

于 2013-02-12T14:15:41.127 に答える