2013-01-09 14 views
6

私はアンドロイドにGoogleマップAPIをロードします。私は検索するすべてを試みますが、それでもクラッシュします。 はこれはこれはこれはGoogleマップandroid API V2がクラッシュしました

​​

activity_main.xml私のレイアウトである私のMainActivity.java

package com.example.androidmapsv2; 

import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 

import com.google.android.gms.common.GooglePlayServicesUtil; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.SupportMapFragment; 

public class MainActivity extends FragmentActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     // Show the Up button in the action bar. 
     getActionBar().setDisplayHomeAsUpEnabled(true); 
     GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()); 

     GoogleMap map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); 

    } 

} 

である私のこれは私が持っている鍵です

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.androidmapsv2" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="11" 
     android:targetSdkVersion="16" /> 

    <permission 
     android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" > 
    </permission> 

    <uses-permission android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

    <!-- Require OpenGL ES version 2 --> 
    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <uses-library android:name="com.google.android.maps" /> 

     <activity 
      android:name="com.example.androidmapsv2.MainActivity" 
      android:label="aaa" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyDr9xN8L3sF6W2ZRWmTR7q0lhTeOWhXEfQ" /> 
    </application> 

</manifest> 

マニフェスト enter image description here

これはlibs incluです(アップデートで解決)DED enter image description here

と私は本当のAndroidデバイスを持っていないので、私はこれはlogcatを更新し

01-09 18:05:19.184: E/Trace(1366): error opening trace file: No such file or directory (2) 
01-09 18:05:19.354: W/dalvikvm(1366): Unable to resolve superclass of Lcom/example/androidmapsv2/MainActivity; (5) 
01-09 18:05:19.354: W/dalvikvm(1366): Link of class 'Lcom/example/androidmapsv2/MainActivity;' failed 
01-09 18:05:19.365: D/AndroidRuntime(1366): Shutting down VM 
01-09 18:05:19.365: W/dalvikvm(1366): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 
01-09 18:05:19.384: E/AndroidRuntime(1366): FATAL EXCEPTION: main 
01-09 18:05:19.384: E/AndroidRuntime(1366): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.androidmapsv2/com.example.androidmapsv2.MainActivity}: java.lang.ClassNotFoundException: com.example.androidmapsv2.MainActivity 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at android.app.ActivityThread.access$600(ActivityThread.java:130) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at android.os.Handler.dispatchMessage(Handler.java:99) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at android.os.Looper.loop(Looper.java:137) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at java.lang.reflect.Method.invoke(Method.java:511) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at dalvik.system.NativeStart.main(Native Method) 
01-09 18:05:19.384: E/AndroidRuntime(1366): Caused by: java.lang.ClassNotFoundException: com.example.androidmapsv2.MainActivity 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at android.app.Instrumentation.newActivity(Instrumentation.java:1053) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974) 
01-09 18:05:19.384: E/AndroidRuntime(1366):  ... 11 more 

あるこのtutorial

でエミュレータにインストールします

私はgoogle-play-services_libを作業領域にコピーしようとしましたが、赤いマークは消えています enter image description here ただし、別のエラーが発生します。 google-play-services_lib.jar(libフォルダ名+ .jar)がありません。それを修正する方法 enter image description here google-play-services_lib.jarをクリックすると、削除ボタンが表示されません(画像のように)。しかし、私はすべてのAndroidの依存関係を削除し、他のlibを再度インポートしようとします。今それは働いていますが、それでもクラッシュします。

私は

MainActivity extends FragmentActivity 

とレイアウト

​​

、それは別のエラーが表示されるように変更

MainActivity extends Activity 

を試してみました。助けてください、今私はこのための解決の外です

最後に、私は私のエラーを解決しました。それは私の食(私は推測する)によって引き起こされた。ライブラリクラスを追加すると、自動的に "google-play-services_lib.jar"と表示されます。何もする必要はありません。 Eclipseを再インストールしても問題なく動作します。 enter image description here

+0

「google-play-services_lib.jar」を選択してライブラリを削除してください。 –

+0

あなたは助けてくれると思うけど、これはlibsの添付ファイルと日食に関する何らかのエラーだと思う。私は例をオンラインで試したと同じエラーがあります – Fido

+0

@ラフルパテル私はstackoverflowの初心者です。どうやってするか?とにかく、私は日食とsdkを再インストールして私の問題を解決しました。 インポートライブラリの問題です。google-play-services_lib.jar – Fido

答えて

2

また、API V2で地図を初めてコーディングするときにこのような問題が発生します。

だけではなく、あなたがあなたのワークスペースにプロジェクト(goolge_play_services)をコピーして、プロジェクトに添付する必要がActivity

FragmentActivityと拡張を使用してみてください。上の画像では十字線が表示されますので、それを選択して削除してから、もう一度プロジェクトにライブラリを添付してください。

+1

私はActivityからFragementActivityに変更しましたが、まだクラッシュして別のエラーが表示されます – Fido

+0

SDKマネージャに 'google play services'をインストールして、ADTプラグインを更新しないでください。 –

0

プロジェクト(goolge_play_services)をワークスペースにコピーしてプロジェクトに添付する必要があります。何をやっている

は、プロジェクトをインポートし、それが追加したライブラリで、あなたに間違ったマークを示すため、先のワークスペースにコピープロジェクトをcheckmarkingではありません。

は、だからgoogle_play_servicesプロジェクトのインポート中にワークスペースにプロジェクトのコピーをチェックマークして、プロジェクトに添付します。

+0

tks、それを自分のワークスペースにインポートしましたが、別のエラーが表示されます。最初の投稿のエラーを更新しました。どうすれば修正できますか? – Fido

+0

あなたのプロジェクトに互換性jarファイルを追加し、FragmentActivityでアクティビティを拡張していることを確認してください – TNR

+0

変更されましたが、別のエラーが表示されます。役職。助けてもらえますか – Fido

0

として、ここで私はあなたがAPIレベル8を使用していて、私の知る限り、「フラグメント」は11からサポートされていることがわかります。

ここで、フラグメントの互換性のあるライブラリを使用する必要があります。

また、google-play-serviceのライブラリをワークスペースにインポートしてアプリケーションに追加したことを確認してください。

1

APIバージョンは11

  • 重要

    FragmentActivity

    であなたの活動を延長することを忘れないでください下回っている場合にはSupportMapFragmentを使用する必要があります
0

アプリケーションのAndroidManifest.xmlファイルを編集し、要素内に次の宣言を追加する必要があります。これは、アプリがコンパイルされたGoogle Playサービスのバージョンを埋め込みます。

<meta-data 
    android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" /> 
関連する問題