31
  1. 私はAndroidプロジェクトを実行しました。正常に実行されました。
  2. 私はJavaでWebサービスを開発し、それをホストしました。正常に実行されました。
  3. Webサービスを.jarにエクスポートし、Androidプロジェクトに追加しました。
  4. Webサービスでメソッドを呼び出そうとすると、Unable to resolve superclassエラーが発生します。

私のエラーログ:

Unable to resolve superclass of Lweb/service/RandomWordGeneratorService; (73)
Link of class 'Lweb/service/RandomWordGeneratorService;' failed 
Could not find class 'web.service.RandomWordGeneratorService',
    referenced from method tam.miru.Login$1.onClick
VFY: unable to resolve new-instance 110 Lweb/service/RandomWordGeneratorService;)
    in Ltam/miru/Login$1; 
VFY: replacing opcode 0x22 at 0x005a    
VFY: dead code 0x005c-006e in Ltam/miru/Login$1;.onClick (Landroid/view/View;)
4

8 に答える 8

71

ADT 17にアップグレードした後、この問題が発生し始めました。

外部の.jarファイルは「libs」(s付き)フォルダーにある必要があることがわかりました。そうでない場合、それらのクラスは作成される.dexファイルに含まれません。アップグレードする前は、「lib」フォルダー内の.jarファイルですべてが正常に機能していました(sはありません)。

于 2012-03-22T17:37:34.240 に答える
14

私の場合、私は行ってProperties->Java Build Path->Order and Export確認Android Private Librariesし、プロジェクトをクリーンアップして正常に動作する必要がありました。

于 2013-06-07T01:41:31.573 に答える
4

libフォルダーを作成します。libsフォルダーはネイティブライブラリ用です。私はそれを作り、ライブラリをlibに追加し、内部ライブラリとしてパスを構築しました。

于 2012-01-06T00:01:13.710 に答える
2

Eclipseを使用していますか?その場合、EclipseAndroidプロジェクトへのライブラリ/JARの追加で説明されているように、ライブラリをビルドパスに追加しましたか?

于 2011-05-29T20:30:26.507 に答える
2

これは本当に古いスレッドへの投稿であることは知っていますが、@ rabidgremlinによる回答を読んだ後、フォルダー構造を確認したところ、すでに「libs」にあることがわかりました。しかし、support.jarを見て、これを使用することが問題の原因であることがわかりました。

「FragmentActivity」を拡張していましたが、それ自体に問題があったsupport.jarを参照していたことがわかりました。extends句を削除すると、アプリは奇跡的にクラッシュを停止しました。

誰かが見に来た場合の参考までに。乾杯!

于 2013-05-31T15:19:06.453 に答える
1

同じ問題が発生しました。Androidプライベートライブラリを[注文とエクスポート]でマークしようとしましたが、機能しませんでした。次に、libsフォルダーがJavaビルドパスで参照されていないことに気付きました。だから私はそれをライブラリに追加しただけでうまくいきました。

于 2013-06-27T21:11:18.550 に答える
1

同じエラーメッセージが表示されました。問題を理解するのに少し時間がかかりました。Androidが機能するにはJava1.6が必要です。そして、私のActivityのスーパークラスは、Java1.7をコンパイラーとして持つJavaプロジェクトからのインターフェースを実装しました。これは、dexビルダーがスーパークラスをリンクできないようにするのに十分であり、その結果、クラスが見つからないという例外が発生しました。

于 2014-03-17T14:33:45.130 に答える
-1

Eclipseでこのエラーの別の原因に遭遇しました。私はEclipseワークスペースをGoogleドライブディレクトリに配置することを試みていましたが、特定のスーパークラスがAndroidアクティビティから解決できないことを発見しました。

グーグルドライブを一時停止し、すべてが正常に動作し始めました。私の場合、ロードされないスーパークラスは、プロトコルバッファで生成されたクラスからのものでした。このクラスと私がテストした他のすべてのクラスは、Googleドライブが実行されている間でも、Android以外のJavaプログラムで正常に機能しました。

于 2012-08-11T15:21:51.633 に答える