2016-05-22 92 views
1

我在Android 5.x版本中出現問題,在Android 4.3中無法重現。無法啓動活動ComponentInfo android.view.InflateException:二進制XML文件行#31

當開始PreferenceActivity,出現以下錯誤:

了java.lang.RuntimeException:無法啓動活動 ComponentInfo {com.xxxx.yyyy/com.xxxx.yyyy.view.SettingsActivity}: android.view.InflateException:二進制XML文件行#31:二進制XML 文件行#31:錯誤充氣類

我衝浪原因網頁,但他們說的錯誤可能發生幾個不同原因,不知道究竟發生了什麼事無法縮小問題的範圍。

如果我清空preferences.xml錯誤是存在的,如果我啓動一個不同的,DummyActivity(空白活動)它再次發生,所以錯誤可能...應用程序中的其他地方!

調用者活動是一個地圖活動;我讀過這可能是一個問題,但我使用最新的文檔開始它:

((SupportMapFragment) mContext.getSupportFragmentManager() 
      .findFragmentById(R.id.map)) 
      .getMapAsync(new OnMapReadyCallback() { 
       @Override 
       public void onMapReady(GoogleMap map) { 
        mMap = map; 
        setUpMap(); 
       } 
      }); 

使用getSupportFragmentManager和異步調用。

任何想法?我不能只搜索整個應用程序尋找這個錯誤! Android應爲這類問題提供更多人類可讀的信息......特別是當它們不會在每個Android版本中發生時,這是另一個問題:爲什麼兼容性經常被破壞?

+0

請分享您的整個logcat。還有更多的例外 –

回答

0

使用我的源代碼控制系統我做了一個二進制搜索(嘆氣)找到變更其中的錯誤出現在第一次和它時,我更新了SDK的目標版本API 23(在Android 6.0相匹配,權限變化)一切

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 
} 

dependencies { 
    compile 'com.android.support:appcompat-v7:23.3.0' 
    compile 'com.google.android.gms:play-services-location:8.4.0' 
    compile 'com.google.android.gms:play-services-maps:8.4.0' 
} 

我已經搜索並有更多的人有同樣的問題,所以在我看來,有一個在SDK工具版中的錯誤23.0.1(最新)。問題是,我無法更新到API版本23,並在Android 6處理它們時正確檢查權限,但我無法解決此問題,API工具無法正常工作。

0

在您的xml文件中提到android:name = "com.packagename.Activityname"

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.SupportMapFragment" 
    android:name="com.packagename.Activityname"/> 
+0

幸運的是我自己使用了一個源代碼控制版本工具,所以我正在進行二分查找來弄清楚什麼打破了這個改變。我懷疑應用Lint的建議,這不會是第一次......在應用Lint說的時候一定要小心,有時候這些建議不適用於你的情況:( – Luis

相關問題