1

QR コードをスキャンするために zxing ライブラリをアプリに統合しました。ボタンを押して zxing スキャン アクティビティを開始すると、アプリがクラッシュし、logcat に次のメッセージが表示されます。

05-24 02:17:24.037: E/AndroidRuntime(516): FATAL EXCEPTION: main

05-24 02:17:24.037: E/AndroidRuntime(516): java.lang.RuntimeException: Unable to start activity 
ComponentInfo{com.code.looknmove/com.google.zxing.client.android.CaptureActivity}: android.content.res.Resources$NotFoundException: File res/xml/preferences.xml from 
drawable resource ID #0x7f050000

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.os.Handler.dispatchMessage(Handler.java:99)

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.os.Looper.loop(Looper.java:123)

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.app.ActivityThread.main(ActivityThread.java:4627)

05-24 02:17:24.037: E/AndroidRuntime(516):  at java.lang.reflect.Method.invokeNative(Native Method)

05-24 02:17:24.037: E/AndroidRuntime(516):  at java.lang.reflect.Method.invoke(Method.java:521)

05-24 02:17:24.037: E/AndroidRuntime(516):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)

05-24 02:17:24.037: E/AndroidRuntime(516):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)

05-24 02:17:24.037: E/AndroidRuntime(516):  at dalvik.system.NativeStart.main(Native Method)

05-24 02:17:24.037: E/AndroidRuntime(516): Caused by: android.content.res.Resources$NotFoundException: File res/xml/preferences.xml from drawable resource ID #0x7f050000

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.content.res.Resources.openRawResourceFd(Resources.java:860)

05-24 02:17:24.037: E/AndroidRuntime(516):  at com.google.zxing.client.android.BeepManager.buildMediaPlayer(BeepManager.java:97)

05-24 02:17:24.037: E/AndroidRuntime(516):  at com.google.zxing.client.android.BeepManager.updatePrefs(BeepManager.java:60)

05-24 02:17:24.037: E/AndroidRuntime(516):  at com.google.zxing.client.android.BeepManager.<init>(BeepManager.java:49)

05-24 02:17:24.037: E/AndroidRuntime(516):  at com.google.zxing.client.android.CaptureActivity.onCreate(CaptureActivity.java:165)

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)

05-24 02:17:24.037: E/AndroidRuntime(516):  ... 11 more

05-24 02:17:24.037: E/AndroidRuntime(516): Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.content.res.AssetManager.openNonAssetFdNative(Native Method)

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.content.res.AssetManager.openNonAssetFd(AssetManager.java:426)

05-24 02:17:24.037: E/AndroidRuntime(516):  at android.content.res.Resources.openRawResourceFd(Resources.java:857)

05-24 02:17:24.037: E/AndroidRuntime(516):  ... 17 more

実際の問題が何であるかを検出できません。そのため、問題を解決し、何が問題なのかを検出するために、問題について何らかの助けが必要です。

4

3 に答える 3

3

問題は、すべてのandroid/コードをコピーしてプロジェクトに貼り付けたのに、何をコピーしたのかよくわからないことです。この方法でアプリをコピーすることは強くお勧めしません。Android を初めて使用する場合、コードを再利用するには複雑すぎる可能性があります。

  1. コピーしたすべてのコードを削除しandroid/core/
  2. 追加android-integration/
  3. http://code.google.com/p/zxing/wiki/ScanningViaIntentに従って、3 行のコードでバーコード スキャンを実装しました。
于 2012-05-25T07:18:37.520 に答える
1

このリンクで修正された同じ問題:

michalu zxing バーコード

ライブラリとして、ページ下部のリンクからダウンロードできる彼の zxing ライブラリを使用します。わたしにはできる

于 2013-09-16T15:27:09.923 に答える
0

Zxingライブラリを使用したときに同じ問題に直面し、この手法で解決しました

「PackakageName.StartActivity」のようなマニフェスト ファイルでランチャー アクティビティの完全なパスを指定します。

于 2013-01-16T12:07:25.287 に答える