0

アプリケーションでバーコード スキャンに zxing ライブラリを使用しています。だから私はzxingプロジェクトをライブラリとして設定し、そのライブラリを私のプロジェクトに追加しました(プロパティ - >アンドロイド - >ライブラリを追加)

コードをビルドするときにライブラリ プロジェクトを追加すると、プロジェクト内に 2 つの R.java ファイルが作成されていることがわかります。

1つはパスの下にあります:gen\com\google\zxing\client\android

およびその他: gen\myproject

最初のものには、ライブラリのすべてのリソース変数に加えて、プロジェクトのリソース変数が含まれています。2 番目のものには、私のプロジェクトからのリソース変数のみがあります。新しいレイアウトまたはリソース変数が追加されると、両方のファイルで更新されます

だから私の疑問は次のとおりです。

この動作のために、デバッグが非常に困難な非常に奇妙な問題に遭遇しました。

私の zxing ライブラリには、バーコードをスキャンしようとしたときに設定されるレイアウト「キャプチャ」があります。文字「a」/「b」で始まる名前のレイアウトまたはリソース変数を追加するたびに、アプリケーションが奇妙な動作をしていました。そして、レイアウトの名前を変更しただけですべてが完璧に機能しました。後で、R.javaファイルの「キャプチャ」のIDと関係があることがわかりました。a で始まる文字でレイアウトを定義すると、「キャプチャ」の前に R.java リストに挿入されるため、キャプチャの ID が変更されました。(実際のzxingプロジェクトには、ライブラリとして設定した別のR.javaファイルがあります。そのため、R.javaファイルでのキャプチャのIDとzxingライブラリR.javaは同じである必要があります)

ここで実際に何が起こっているのか説明してもらえますか

4

1 に答える 1

0

私はあなたが完全なプロジェクトを含むと思います...

その場合はそれを削除し、このファイルのみをプロジェクトにインポートします。

http://code.google.com/p/zxing/source/browse/trunk#trunk%2Fandroid-integration%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fintegration%2Fandroid%253Fstate%253Dclosed

必要なのはそれだけです:)

于 2012-03-29T11:53:31.807 に答える