Ошибка надувания фрагмента класса. Причина: android .view.InflateException: двоичный файл XML - PullRequest
0 голосов
/ 15 февраля 2020

Я кодирую Firebase в своем приложении с GoogleMaps. Firebase у меня под контролем, я получаю pu sh -up, я подписываюсь на темы, et c. но когда я его реализую, я не могу загрузить действие с помощью googleMaps xml. Это кра sh. Без Firebase у меня есть min-Sdk 11 и все в порядке, но когда я ставлю Firebase, мне нужно 14, тогда это вызывает проблемы.

Мой аккаунт приложения:

""apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
//apply plugin: 'com.google.gms.google-services'
android {
    compileSdkVersion 26
   //buildToolsVersion '23.0.2'

    defaultConfig {
        applicationId "sdelatorre.turisxat"
        minSdkVersion 11
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false

        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
   // implementation 'com.google.firebase:firebase-messaging:17.3.4'
    testImplementation 'junit:junit:4.12'


    implementation 'com.android.support:appcompat-v7:24.1.1'
    implementation 'com.android.support:design:24.1.1'
    implementation 'org.jsoup:jsoup:1.8.1'
    implementation 'com.android.support:recyclerview-v7:23.4.0'
    implementation 'com.google.android.gms:play-services:9.2.1'
    implementation 'com.google.android.gms:play-services-gcm:8.3.0'
    implementation 'com.android.support:multidex:1.0.3'

}""

Итак ... без приложения Firebase работает отлично ... Когда я ставлю FIrebase мне нужно изменить на min-sdk = 14, но тогда карта cra sh ...

 ""<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

        <fragment
            android:id="@+id/map"
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginStart="0dp"
            android:layout_marginTop="0dp"
            tools:context="sdelatorre.turisxat.Mapas"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="0dp" />

        <TextView
            android:id="@+id/cerca"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/map"
            android:layout_marginLeft="20dp"
            android:background="#ffffff"
            android:gravity="center_vertical|center_horizontal|center"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textSize="@dimen/abc_text_size_large_material" />
    </RelativeLayout>""

I have tested the next xml and it crashes ....


    ""<?xml version="1.0" encoding="utf-8"?>
    <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=".MapsActivity" />
    ""

Мой журнал:

" "2020-02-15 10: 13: 51.809 23903-23903 / sdelatorre.turisxat I / atorre.turisxa: at vdel sdelatorre.turisxat.Mapas.onCreate (android .os.Bundle) (Mapas. java: 65 ) 2020-02-15 10: 13: 51.813 23903-23903 / sdelatorre.turisxat E / AndroidRuntime: FATAL EXCEPTION: main Процесс: sdelatorre.turisxat, PID: 23903 java .lang.RuntimeException: Невозможно запустить действие ComponentInfo {sdelatorre .turisxat / sdelatorre.turisxat.Mapas}: android .view.InflateException: двоичный файл XML строка файла № 10: двоичный файл XML строка файла № 10: ошибка раздувания фрагмента класса в android .app.ActivityThread.performLaunchActivity (ActivityThread. java: 2964) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 3099) в android .app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem. java: 78) в android .app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor. java: 108) в android .app.servertransaction.TransactionExecutor.execute (TransactionExecutor. java: 68) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 1856) в android .os.Handler.dispatchMessage (обработчик . java: 106) в android .os.Looper.l oop (Looper. java: 228) в android .app.ActivityThread.main (ActivityThread. java: 6734) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 493) в com. android .internal.os. ZygoteInit.main (ZygoteInit. java: 911) Вызывается: android .view.InflateException: двоичный файл XML строка файла № 10: двоичный файл XML строка файла № 10: ошибка раздувания фрагмента класса Причина: android .view.InflateException: двоичная XML строка файла # 10: ошибка надувания фрагмента класса, вызванная: android .support.v4.app.Fragm ent $ InstantiationException: Невозможно создать экземпляр фрагмента com.google. android .gms.maps.SupportMapFragment: вызов конструктора Fragment вызвал исключение в android .support.v4.app.Fragment.instantiate (Fragment. java: 481 ) в android .support.v4.app.FragmentContainer.instantiate (FragmentContainer. java: 33) в android .support.v4.app.FragmentManagerImpl.onCreateView (FragmentManager. java: 3664) в android .support.v4.app.FragmentController.onCreateView (FragmentController. java: 111) в android .support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView (FragmentActivity. java: 338) в android .support. v4.app.BaseFragmentActivityApi14.onCreateView (BaseFragmentActivityApi14. java: 39) в android .support.v4.app.FragmentActivity.onCreateView (FragmentActivity. java: 67) в android .view.LayoutInflater.cagateViewrom LayoutInflater. java: 791) в android .view.LayoutInflater.createViewFromTag (LayoutInflater. java: 730) в android .view.LayoutInflater.rInflate (LayoutInflater. java: 880) в android .view.Lay outInflater.rInflateChildren (LayoutInflater. java: 841) в android .view.LayoutInflater.inflate (LayoutInflater. java: 515) в android .view.LayoutInflater.inflate (LayoutInflater. java: 423) в android .view.LayoutInflater.inflate (LayoutInflater. java: 374) в com. android .internal.policy.PhoneWindow.setContentView (PhoneWindow. java: 420) в android .app.Activity .setContentView (Activity. java: 2771) в sdelatorre.turisxat.Mapas.onCreate (Mapas. java: 65) в android .app.Activity. executeCreate (Activity. java: 7136) в android .app.Activity.performCreate (Activity. java: 7127) в android .app.Instrumentation.callActivityOnCreate (Инструментарий. java: 1271) в android .app.ActivityThread.performLaunchActivity (ActivityThread. java: 2944) в android .app.ActivityThread.handleLaunchActivity (ActivityThread. java: 3099) в android .app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem) . java: 78) в android .app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor. java: 108) в android .app.servertransaction.TransactionExecutor.execute (TransactionExecutor. java: 68) в android .app.ActivityThread $ H.handleMessage (ActivityThread. java: 1856) в android .os.Handler.dispatchMessage (Обработчик. java: 106) в android .os.Looper.l oop (Looper. java: 228) в android .app.ActivityThread.main (ActivityThread. java: 6734) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit. java: 493) в com. * 11 20 * .internal.os.ZygoteInit.main (ZygoteInit. java: 911) Причина: java .lang.reflect.InvocationTargetException ""

и мои карты. java:

""
public class Mapas extends FragmentActivity implements OnMapReadyCallback{

        private GoogleMap mMap;

        LocationManager locationManager;
        String locationProvider;
        String tipo;
        double latitude,longitude;

        @Override
        protected void onPause() {
            super.onPause();
            stopService(new Intent(this, Localizacion.class));
        }

        @Override
        protected void onResume() {
            super.onResume();
            startService(new Intent(this, Localizacion.class));
           // getActivity().startService(new Intent(getActivity(), MyService.class));
           TextView t=(TextView) findViewById(R.id.cerca);
            t.setText("GPS");
        }

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_mapas);
            // 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);
            tipo=getIntent().getExtras().getString("parametro");
            LocalBroadcastManager.getInstance(this).registerReceiver(
                    new BroadcastReceiver() {
                        @Override
                        public void onReceive(Context context, Intent intent) {
                            latitude = intent.getDoubleExtra(Localizacion.EXTRA_LATITUDE, 0);
                            longitude = intent.getDoubleExtra(Localizacion.EXTRA_LONGITUDE, 0);
                            //textView.setText("Lat: " + latitude + ", Lng: " + longitude);
                            moverCamara(latitude,longitude);

                            if (tipo.equals("UNICO")){
                    marcadoresSoloMapa();
                            }else {
                                comprueba_mas_carca(latitude, longitude);
                            }
                        }
                    }, new IntentFilter(Localizacion.ACTION_LOCATION_BROADCAST)
            );
        }""

Спасибо заранее ... если есть идеи ...

1 Ответ

0 голосов
/ 27 февраля 2020

Наконец, я просмотрел весь код и использовал библиотеку androidx. У меня была поддержка v4, но с androidx приложение будет работать отлично.

Я изменил все макеты своего приложения с компонентами androidx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...