2016-05-18 139 views
1

我在寫一個包含谷歌地圖片段的android應用程序。當我從它所包含的活動中排除地圖片段時,該應用運行良好。當我包含地圖片段時,我會在下面的blockquote中引用異常。最令人討厭的是,就在幾個星期前,這並沒有發生。這個活動幾周來運行得非常好,然後我更新了android studio,現在我得到了這個異常。我搜索谷歌和stackoverflow上的幾個線程的解決方案,沒有任何工作。我甚至嘗試徹底複製和粘貼Google地圖活動的Android演示,並且我得到相同的異常。請幫忙。Android Studio:錯誤的擴展類片段

升高(從機器人監視器複製)異常:

致命異常:主 工藝:com.androidapps.seanmcalinden.firstandroidapp,PID:23089 了java.lang.RuntimeException:無法啓動活動ComponentInfo {com.androidapps.seanmcalinden.firstandroidapp/com.androidapps.seanmcalinden.firstandroidapp.MapsActivity}:android.view.InflateException:二進制XML文件行#55:二進制XML文件行#55:在android.app中導致錯誤的類片段 。 ActivityThread.performLaunchActivity(ActivityThread.java:2416) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在android.app.ActivityThread.-wrap11(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java .lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) at com.an droid.internal.os.ZygoteInit.main(ZygoteInit.java:616) 引起:android.view.InflateException:二進制XML文件行#55:二進制XML文件行#55:在android.view中錯誤擴充類片段 時出錯。 LayoutInflater.inflate(LayoutInflater.java:539) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at com.android.internal。 policy.PhoneWindow.setContentView(PhoneWindow.java:393) at com.androidapps.seanmcalinden.firstandroidapp.MapsActivity.onCreate(MapsActivity.java:67 ) 在android.app.Activity.performCreate(Activity.java:6237) 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method。調用(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) :android.view.InflateException:二進制XML文件行#55:在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)上錯誤擴展類片段 在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) (android.view.LayoutInflater.rInflate(LayoutInflater.java:835) ( )在android.view.LayoutInflater.inflate(LayoutInflater.java:515) 在android.view.LayoutInflater.inflate(LayoutInflater.java:423) 在android.view.LayoutInflater.inflate(LayoutInflater.java:374) 在玉米.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) at android.app.Activity.setContentView(Activity.java:2166) at com.androidapps.seanmcalinden.firstandroidapp.MapsActivity.onCreate(MapsActivity.java :67) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android .app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android .app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 引起:java.lang.NullPointerException :試圖在null對象引用 上的com.google.maps.api.android.lib6.gmm6.m.ad.a(未知源) at處調用虛擬方法'boolean java.io.File.mkdir()' com.google.maps.api.android.lib6.gmm6.cha(Unknown Source) at com.google.maps.api.android.lib6.gmm6.cya(Unknown Source) at com.google.maps.api。 android.lib6.e.bd.a(未知來源) at com.google.maps.api.android.lib6.e.ev.a(Unknown Sou rce) at com.google.maps.api.android.lib6.eza(Unknown Source) at com.google.maps.api.android.lib6.eya(Unknown Source) at com.google.android.gms。 maps.internal.u.onTransact(SourceFile:107) at android.os.Binder.transact(Binder.java:387) at com.google.android.gms.maps.internal.IMapFragmentDelegate $ zza $ zza.onCreateView(未知來源) at com.google.android.gms.maps.MapFragment $ zza.onCreateView(未知來源) at com.google.android.gms.dynamic.zza $ 4.zzb(未知來源) at com.google。 android.gms.dynamic.zza。zza(Unknown Source) at com.google.android.gms.dynamic.zza.onCreateView(Unknown Source) at com.google.android.gms.maps.MapFragment.onCreateView(Unknown Source) at android.app.Fragment .performCreateView(Fragment.java:2220) 在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:949) 在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126) 在android.app.FragmentManagerImpl.addFragment (FragmentManager.java:1228) at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2201) at android.app.FragmentCont roller.onCreateView(FragmentController.java:98) at android.app.Activity.onCreateView(Activity.java:5546) at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:34) at android。 support.v4.app.FragmentActivity.onCreat

的onCreate方法:

protected void onCreate(Bundle savedInstanceState) { 
    Log.e("success", "entered onCreate in MapsActivity"); 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_maps); 

    // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
    MapFragment mapFragment = 
      (MapFragment) getFragmentManager().findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 

    if (locationGAC == null) { 
     // ATTENTION: This "addApi(AppIndex.API)"was auto-generated to implement the App Indexing API. 
     // See https://g.co/AppIndexing/AndroidStudio for more information. 
     locationGAC = new GoogleApiClient.Builder(this) 
       .addConnectionCallbacks(this) 
       .addOnConnectionFailedListener(this) 
       .addApi(LocationServices.API) 
       .addApi(AppIndex.API).build(); 
     Log.e("success", "created locationGAC"); 
    } 

    Log.d("myTag", "test output 1"); 

    createFriendList(); 

} 

這項活動的佈局文件:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:background="@color/colorPrimary" 
android:weightSum="1" > 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" > 

    <Button 
     android:layout_width="70dp" 
     android:layout_height="60dp" 
     android:text="Back" 
     android:id="@+id/button" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:layout_alignBottom="@+id/SearchBar1" 
     android:onClick="backToLogin" 
     android:background="@color/colorPrimaryDark" 
     android:textColor="#ffffff" /> 

    <EditText 
     android:layout_width="0dp" 
     android:layout_height="60dp" 
     android:id="@+id/SearchBar1" 
     android:layout_alignParentTop="true" 
     android:hint="Search" 
     android:layout_alignParentEnd="false" 
     android:layout_alignParentStart="false" 
     android:layout_toEndOf="@id/button" 
     android:layout_toStartOf="@+id/SearchButton" 
     android:textColor="#ffffff" 
     android:textColorHint="#ffffff" /> 

    <Button 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="70dp" 
     android:layout_height="60dp" 
     android:text="Go" 
     android:id="@+id/SearchButton" 
     android:layout_alignParentRight="true" 
     android:enabled="true" 
     android:onClick="onSearch" 
     android:textColor="#ffffff" 
     android:background="@color/colorPrimaryDark" /> 

</RelativeLayout> 

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/map" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
    tools:context=".MapsActivity" 
class="com.google.android.gms.maps.MapFragment" /> 


<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="60dp" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_alignParentBottom="true" 
    android:orientation="horizontal"> 

    <Button 
     android:layout_width="70dp" 
     android:layout_height="60dp" 
     android:text="Retrieve" 
     android:id="@+id/serverRetrieveButton" 
     android:layout_gravity="left" 
     android:textColor="#ffffff" 
     android:onClick="getLocationFromDexelus" 
     android:background="@color/colorPrimaryDark" /> 

    <Button 
     android:layout_width="70dp" 
     android:layout_height="60dp" 
     android:text="Send" 
     android:id="@+id/serverSendButton" 
     android:layout_alignParentRight="true" 
     android:textColor="#ffffff" 
     android:onClick="sendLocationToDexelus" 
     android:background="@color/colorPrimaryDark" /> 

</RelativeLayout> 

</RelativeLayout> 

如上所述,我已經嘗試了很多在Stackoverflow上找到的解決方案。不是說你不應該再次發佈這些內容,而是我認爲我的問題可能比那些更復雜或更具體的問題,因爲沒有給出的解決方案爲我工作。

謝謝。

+0

提供您已經選中的帖子,以便其他人不會嘗試複製它。你提到這是在更新AS之後發生的,你的google-play-services的當前版本是什麼?是否有可能發佈你的Gradle? –

+0

檢查此SO問題中的代碼[17469661](http://stackoverflow.com/questions/17469661/google-mapfragment-not-working-in-android)和[15703245](http://stackoverflow.com/questions/15703245/google-maps-fragment-doesnt-load)如果它可以幫助你。 嘗試使用SupportMapFragment而不是僅使用MapFragment。 – KENdi

回答

1

由於某些原因,當我將我的sdk更新爲週三發佈的版本時,我的問題消失了。我想這是適當的,因爲這些問題在android studio更新後首次出現。感謝您的建議!

0

我認爲錯誤來自線路class="com.google.android.gms.maps.MapFragment" 也許路徑不正確。