2016-11-08 4 views
0

Android Studioを2.2.1から2.2.2にアップデートすると、Googleマップに関連するものにアクセスできないため、プロジェクトが完全に壊れてしまいます。私のプロジェクトはアップデート前にうまくいきましたが、現在は何も動作していません。 Google Mapsアクティビティに基づいて全く新しいプロジェクトを作成することはできませんし、まったく同じクラッシュレポートと結果が表示されます。Androidスタジオを更新するとGoogleマップが破損する

私が試したこと: - 私のSDKのすべて、特にGoogle関連のものをアップデートしています。 - 新しいGoogle APIキー を生成 - 私は私のプロジェクトと私の携帯電話上のまったく新しいマッププロジェクト(同じエラーを実行しようとすると、私は取得しています

エラーをMapFragmentに変更SupportMapFragment - スクラッチ から完全に新しいプロジェクトを作成します)(アプリは自分の携帯電話上で動作するので、私はそれが問題だとは思わない他のすべてのgmaps):

Caused by: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class fragment 

マイbuild.gradle最初から(新しいプロジェクト):

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 24 
buildToolsVersion "24.0.2" 
defaultConfig { 
    applicationId "com.example.simon.afinal" 
    minSdkVersion 19 
    targetSdkVersion 24 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 
compile 'com.android.support:appcompat-v7:24.2.1' 
compile 'com.google.android.gms:play-services:9.8.0' 
testCompile 'junit:junit:4.12' 
} 

標準マップのアクティビティ:

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 

private GoogleMap mMap; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_maps); 
    // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 
} 


@Override 
public void onMapReady(GoogleMap googleMap) { 
    mMap = googleMap; 

    // Add a marker in Sydney and move the camera 
    LatLng sydney = new LatLng(-34, 151); 
    mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
} 
} 

Gmaps XMLレイアウトファイル:

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:map="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/map" 
android:name="com.google.android.gms.maps.SupportMapFragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.example.simon.afinal.MapsActivity" 
tools:layout="@layout/activity_maps" /> 

すべてのヘルプははるかに高く評価されます!

答えて

0

使用このため、この

@Override 
    public void onMapReady(GoogleMap googleMap) { 
     this.googleMap = googleMap; 


    } 
+0

を取得するための基本的な手順があるので、これは動作するはずですが –

0

同様

<fragment 
       android:id="@+id/map" 
       class="com.google.android.gms.maps.SupportMapFragment" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" /> 

onMapReadyメソッドのようなフレームレイアウトのXMLマップであなたがマップにインポートする必要がライブラリをグーグルマップ

if (googleMap == null) { 

      googleMap = ((SupportMapFragment) getChildFragmentManager() 
        .findFragmentById(R.id.map)).getMap(); 

を取得グラデーションファイルが異なる。したがって

コンパイル 'com.google.android.gms:-サービスを再生:9.8.0' あなたの依存関係を変更し :

public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback { 

それともこと

compile 'com.android.support:appcompat-v7:24.2.1' 
testCompile 'junit:junit:4.12' 
compile 'com.google.android.gms:play-services-maps:9.8.0' 

ようにクラスを宣言フラグメントアクティビティがv4パッケージであることを確認してください。

マップ

+0

FragmentActivityがAppCombatActivityは違いはありません、同じエラーを使用して、definently V4である私に同じエラーを与えます。 –

+0

とはどのような依存関係ですか?あなたはそれを変更しましたか? –

+0

はい私はそれをテストするためだけに作った新しい活動であなたが求めたように、依存関係を変更しました。完全に以前から働いていた私の古いプロジェクトの依存関係は、以下のようになります: 'compile 'com.google.android.gms:play-services-maps:9.8.0' compile.android.gms:play -services-location:9.8.0 ' ' com.google.android.gms:play-services-plus:9.8.0 ' ' com.google.android.gms:play-services-base:9.8をコンパイルします。0 ' コンパイル' com.google.android.gms:play-services-auth:9.8.0 ' ' com.google.android.gms:play-services-places:9.8.0 'をコンパイルします。 –

関連する問題