0

今、私は誰かが以前のADTプラグインへの復帰を達成することができたかどうか疑問に思いました。

これは、オープンソースのjarを使用していて、LogCatで次のようなエラーが発生するためです。

  1. 仮想メソッドを解決できません
  2. 署名で参照されているクラスが見つかりません
  3. 新しいインスタンスを解決できません

この影響により、デバッガーでAndroidアプリケーションを実行するとエラーが発生します。

以前はAndroidADT15を使用していましたが、17に更新されました。

問題を解決するための解決策を見つけるのを手伝ってください。

編集*エラー「java.lang.NoClassDefFoundError」を追加するのを忘れました。簡単に言えば、接続されているjarを許可していても、クラスやメソッドを見つけることができません。

編集*Logcatが追加されました

04-09 17:22:56.488: E/AndroidRuntime(4057): FATAL EXCEPTION: main
04-09 17:22:56.488: E/AndroidRuntime(4057): java.lang.NoClassDefFoundError: nl.siegmann.epublib.epub.EpubReader
04-09 17:22:56.488: E/AndroidRuntime(4057):     at ebook.holder.ReadWholeBook.amBook(ReadWholeBook.java:796)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at ebook.holder.ReadWholeBook.firstPartBook(ReadWholeBook.java:720)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at ebook.holder.ReadWholeBook.initializeLoading(ReadWholeBook.java:159)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at ebook.holder.ReadWholeBook.onCreate(ReadWholeBook.java:109)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at android.os.Looper.loop(Looper.java:123)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at android.app.ActivityThread.main(ActivityThread.java:3683)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at java.lang.reflect.Method.invokeNative(Native Method)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at java.lang.reflect.Method.invoke(Method.java:507)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-09 17:22:56.488: E/AndroidRuntime(4057):     at dalvik.system.NativeStart.main(Native Method)

これらは与えられた警告です:

04-09 17:22:56.158: W/dalvikvm(4057): VFY: unable to resolve new-instance 144 (Lnl/siegmann/epublib/epub/EpubReader;) in Lebook/holder/ReadWholeBook;
04-09 17:22:56.177: W/dalvikvm(4057): VFY: unable to find class referenced in signature (Lnl/siegmann/epublib/domain/Book;)
04-09 17:22:56.217: W/dalvikvm(4057): VFY: unable to find class referenced in signature (Lnl/siegmann/epublib/domain/Book;)
04-09 17:22:56.233: W/dalvikvm(4057): VFY: unable to resolve virtual method 433: Lnl/siegmann/epublib/domain/Book;.getSpine ()Lnl/siegmann/epublib/domain/Spine;
04-09 17:22:56.277: W/dalvikvm(4057): VFY: unable to find class referenced in signature (Lnl/siegmann/epublib/domain/Book;)
04-09 17:22:56.277: W/dalvikvm(4057): VFY: unable to resolve virtual method 433: Lnl/siegmann/epublib/domain/Book;.getSpine ()Lnl/siegmann/epublib/domain/Spine;
4

5 に答える 5

6

次の手順で、以前のバージョンのADTプラグインに戻すことができます。

  1. 以前のバージョンのADT(zipアーカイブ)をダウンロードします。Googleからの過去のADTバージョン番号のリストを含む公式の変更ログ:http ://developer.android.com/tools/sdk/eclipse-adt.html 。古いバージョンをダウンロードするときに使用する正確なファイル名と形式:(http: //dl.google.com/android/ADT-16.0.1.zip、http://dl.google.com/android/ADT-21.0.0.zipなど)、Eclipseに古いADT13をインストールする方法を参照してくださいプロセスの詳細。元に戻すバージョンを選択します。

  2. Eclipseメニューで、[ウィンドウ]->[設定]->[インストール/更新]->[利用可能なソフトウェアサイト]に移動し、[アーカイブ]ボタンをクリックして最近ダウンロードしたアーカイブをリストに追加します。

  3. Eclipseメニューで、[ヘルプ]->[Eclipseについて]->[インストールの詳細]->[インストール履歴]に移動し、リストから適切な項目を選択します。次に、「元に戻す」ボタンをクリックします。

  4. Eclipseを正常に元に戻して再起動すると、以前のバージョンのADTが取得されますが、この古いバージョンのADTは、コンピューターにインストールされているAndroidSDKと互換性がない可能性があります。「このバージョンのADTには、リビジョン17以降のAndroid SDKツールが必要です」を使用して、AndroidSDKのADTバージョンのチェックを「ハック」できます。このエラーを解消することはできません。

  5. 上記のすべての手順を実行すると、元に戻されたバージョンのADTを使用できますが、プロジェクトの一部が常に新しいバージョンのADTまたはSDKに依存している場合は、この問題を手動で解決する必要があります。

于 2012-06-28T07:33:06.333 に答える
0

私が最初にすることは、すべての出力(gen、target、out)を削除し、プロジェクトの完全な再構築を行うことです。

于 2012-04-09T17:18:04.703 に答える
0

質問に答えるには:いいえ、以前のバージョンのADTプラグインに戻すことはできません。Eclipseで構成を元に戻すことはできますが、必要な古いバージョンのプラグインはGoogleリポジトリでは利用できません。

残念ながら、あなたの問題に関するヒントはありません。

于 2012-04-10T09:50:13.467 に答える
0

すべてを元の状態に戻すための可能な方法はありません。唯一の解決策はシステムの復元です。

于 2012-04-10T13:46:22.233 に答える
0

問題が発生し、1週間前に解決しました。

あなたはadt22を使用している必要がありますよね?

adt22を使用する場合、libsという名前のフォルダー(サードパーティのjarが含まれている)がある場合は、Android Private Librariesという名前のライブラリが表示されます。残念ながら、プロジェクトをコンパイルすると、jarを含むこのlibはにエクスポートされません。初期のプラグインでうまくいくapk。

したがって、jarを手動でエクスポートする必要があります。

[プロジェクト]->[ビルドパス]->[注文とエクスポート]タブを見つけ、Androidプライベートライブラリを選択します。次に、binフォルダーを削除し(プロジェクトをクリーンにコンパイルします)
、jarファイルを含む大きなapkを取得します。

于 2013-06-17T03:12:54.860 に答える