运行版本时错误地膨胀Map片段

时间:2017-11-28 07:43:57

标签: android

我读了许多类似的主题,并尝试了所有接受的答案,但没有任何效果。 当我作为调试运行时,我的应用程序运行正常,但是当我生成.apk文件时,将其安装在我的手机上,它就崩溃了。

我收到了这个错误

  

无法启动活动ComponentInfo {vn.com.ttsoft.dhd / vn.com.ttsoft.dhd.MapsActivity}:android.view.InflateException:二进制XML文件行#1:二进制XML文件行#1:错误膨胀类片段

由行setContentView(R.layout.activity_maps);

引起的错误

我将此添加到我的清单中,正如有人在另一个问题中说的那样。但它没有用。

    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_key" />

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

我的活动扩展了FragmentActivity:

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

@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);

这是我的activity_maps.xml

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    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="vn.com.ttsoft.dhd.MapsActivity" />

我的手机运行android 7.1 Nougat。有人知道解决方案吗?

1 个答案:

答案 0 :(得分:0)

我将类路径更新为com.android.tools.build:gradle:3.0.1并且它有效!以前的版本是2.3.3。

现在我在#34;重建项目&#34;时遇到错误,但是当我&#34;生成已签名的APK&#34;并在我的手机上安装此.apk文件,它工作正常。真奇怪!