0

MapActivityを拡張する場合、アクティビティ(ShowPos)を起動できません。extends Activityに変更すると、起動します。

プロジェクトのJavaコードを新しいワークスペースの新しいプロジェクトにコピー/貼り付けする前に、Eclipseが不可解にAndroid APIを見つけることができなくなり、再インポートできなくなったときに、以前は機能していました。同様のことが数回前に起こったことがありますが、Eclipseでは普通のようです。しかし、少なくともしばらくの間、コピー/貼り付けは常に以前から機能していました。そして今、それはそのようなエラーがないことを警告します。

私は以前に機能したAPIキーを持っています。現在、maps.jarは、プロジェクトエクスプローラーのプロジェクトの下でGoogleAPI2.2の下にあります。エディターは、プロジェクト内のどのファイルにもエラーがないことを確認します。起動すると、LogCatは次のように始まります。


 - D dalvikm Calling exit(1)
 - W dalvikm Unable to resolve superclass of Lintrax/three/ShowPos; (35)
 - W dalvikm Link of class 'Lintrax/three/ShowPos;' failed
 - D AndroidRuntime Shutting down VM
 - W dalvikm threadid=1: thread exiting with uncaught exception
   (groupnr)
 - E AndroidRuntime FATAL EXCEPTION: main

私のプロジェクト名は「intrax.three」になりました。なぜそれに「L」を追加するのですか?マニフェストには次のものが含まれます。


    uses-library android:name="com.google.android.maps"
    uses-permission android:name="android.permission.INTERNET"

(ここにマニフェストファイルを貼り付けることができませんでした)

Eclipseが何かを見つけるのをどのように助けることができるかについて助けてくれてありがとう!

4

3 に答える 3

2

Project -> Preferences -> Android -> Project Build Target に移動し、Google API を使用するプロジェクトを作成したことを確認します。

于 2012-02-14T18:11:03.717 に答える
0

Internet パーミッションと uses-library を既に定義している場合

<uses-library android:name="com.google.android.maps" /> in your manifest.

また、プロジェクトのターゲットが google APi に設定されていることを確認してください。

3 つ目は、パッケージ レベルを修正し、map.jar ライブラリを明示的に指定せずにプロジェクトを再度ビルドする必要があることです。Google API に組み込まれたmaps.jarのみを使用し、 MapActivityを拡張する新しいアクティビティを作成します (マニフェストでも宣言します)。

于 2012-02-14T18:37:25.947 に答える
0

私はMapView チュートリアルに従いましたが、エラーなしで問題なく動作します。

問題のエラーは、クラスが見つからないlink error場所です。Dalvik VMこれは、ここで提示されたすべての提案 ( uses-library、インターネット アクセス許可、Google API をビルド ターゲットとして設定すること) がまだ理解されていないことを意味します。リンク エラーは、Android OS がクラスを見つけられないことを意味します。Classそのため、ファイルを貼り付けるのではなく、新しいソースを作成してからEclipseコード スニペットを貼り付けるクリーンなプロジェクトを作成することをお勧めします。

ところで、Lは を識別するために使用されますObject。参照: Java 識別子.

ハッピーコーディング!

于 2012-02-14T18:51:25.290 に答える