29

現在のプロジェクトをアップグレードしてEclipseの新しいR14ツールを使用して以来、ライブラリプロジェクトに存在するコードをデバッグできなくなりました。

ライブラリプロジェクトコードでブレークポイントに達すると、Eclipseが元のソースファイルを開く代わりに、JARに含まれているソースファイルの読み取り専用コピーが開き、「ソースが見つかりません」というメッセージが表示されます。

私はこれに対する解決策を探し回っていますが、まだ何も見つかりませんでした。他に何か提案はありますか?デバッグできないのはかなり苦痛です。

編集

問題が再発し、デバッグできなくなりました。プロジェクトの設定などは変更していません。とてもイライラします。

4

7 に答える 7

44

上記のすべてを試しましたが、うまくいきませんでしたが、ここで詳しく説明した回避策はうまくいきました。

http://code.google.com/p/android/issues/detail?id=20731

  1. デバッグを開始し、ブレークポイントに到達するまで実行します(そして、必要な.javaの代わりに.classファイルを正確に取得します)
  2. デバッグパースペクティブのデバッグビュー(たとえば、コールスタック上)を右クリックし、[ソースルックアップパスの編集]を選択します。
  3. 「追加...」>「Javaプロジェクト」>「すべて選択」を使用して、「デフォルト」の上にすべてのプロジェクトを追加します

(私はhttp://tools.android.com/downloadからADT 15.0.2プレビューを使用しています)

于 2011-11-03T09:02:47.500 に答える
17

この問題も抱えていて、少し調べてみたところ、このスレッドと別のスレッドに出くわしました。もう髪を抜いていた。

問題はプロジェクトのビルド順序にある​​ことがわかりました(とにかく私のものでした)。ADT / SDK v14はライブラリプロジェクトの参照方法を変更したため、ビルドの順序は正しい必要があります。アプリが使用するすべてのライブラリが最初にビルドされていることを確認してください。各プロジェクトの「src」フォルダーと「gen」フォルダーを一番下に移動したところ、最初にライブラリがビルドされ、メインプロジェクトでデバッグしてライブラリファイルのソースを表示できるようになりました。

誰かがこれを行う場所がわからない場合は、Eclipseで、プロジェクトを右クリックして[ビルドパス]をクリックし、[ビルドパスの構成]をクリックします。次に、[注文とエクスポート]タブで、プロジェクトの2つのフォルダーをライブラリの下のリストの一番下に移動します。私はすべてのプロジェクトと図書館プロジェクトに対してこれを行いました。

また、Eclipseで[Windows]->[設定]->[一般]->[ワークスペース]->[ビルド順序]からグローバルに実行し、ライブラリプロジェクトを一番上に移動することもできます。ただし、各プロジェクトで定義されたビルド順序はこれをオーバーライドすると思います。そのため、現在および将来のプロジェクトで問題を解決するために、両方の場所でビルド順序を実行することをお勧めします。

于 2011-10-27T21:08:50.257 に答える
2

以下はEclipseJunoで私のために働いた:

プロジェクトプロパティ/Javaビルドパス:

  • [プロジェクト]タブで、ライブラリプロジェクトを追加しました。
  • [注文とエクスポート]タブで、ライブラリプロジェクトを一番上に移動し、チェックしました

関連性があるかどうかはわかりませんが、AndroidSDKツールはrev20.0.3で、AndroidSDKプラットフォームツールは14です。

于 2012-11-13T15:34:21.170 に答える
2

今日のプロジェクトでも同じ問題がありました。プロジェクトは、2つのライブラリ依存関係を持つアプリで構成されています。デバッグ中、およびメソッドをオーバーライドするときにオートコンプリートを使用しているときにコードが表示されませんでした。Eclipseは適切な引数名を推測できませんでした。

まず、ソースを含むフォルダーとして「gen」フォルダーが使用されていることを示すことで、問題が明らかになりました。これが同じ問題であるかどうかを確認するには、アプリプロジェクトに移動し、Androidの依存関係を開いて、ライブラリの依存関係のプロパティを確認します。ロケーションパスは/libraryprojectname/genと述べています。

これも問題である場合は、各ライブラリプロジェクトの[注文とエクスポート]タブに移動し、[gen]アイテムを[src]アイテムの下に移動します。[OK]をクリックするとすぐにEclipseが少し機能し、Androidの依存関係のプロパティを確認すると、ロケーションパスに/ libraryprojectname/srcと表示されます。依存関係をクリックして開き、jar内の任意のクラスを開きます。ソースが表示されます。

Android SDKTools20.0.3およびAndroidSDKPlatformTools14でADTプラグイン20.0.3を使用しています。

于 2012-10-31T11:03:05.133 に答える
0

私はあなたが図書館プロジェクトを考えていて、そこにブレーキポイントを置いていると思います。これを試してください:メインプロジェクトで、パッケージエクスプローラーから[ライブラリプロジェクト]-> [yourlibrary.jar]-> [yourfile.class]を開き、.classファイルにブレーキポイントを設定します。これは少なくとも私にとってはうまくいきます:)

于 2011-10-27T08:56:00.633 に答える
0

時々これは私に起こります。理由はわかりませんが、私が解決する方法は次のとおりです。

メインプロジェクトをEclipseから削除します。--ClossEclipse-ライブラリプロジェクトのjarファイルを削除します-Eclipseを開きます-ライブラリプロジェクトがコンパイルされるのを待ちます-メインプロジェクトをインポートします

于 2011-10-27T14:01:08.943 に答える
0

この問題は、Juno内のADTのリリース21でも発生します。回避策として、デバッグパースペクティブの「デバッグ」ビュー(スレッドとメソッド呼び出しトレースが表示されます)で、右クリックしてソースルックアップパスを編集します。

于 2013-04-05T13:32:11.057 に答える