Я кодирую 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)
);
}""
Спасибо заранее ... если есть идеи ...