реактивная карта, вызывающая сбой приложения - PullRequest
0 голосов
/ 20 марта 2019

Я пытался использовать реагировать на нативное приложение и имел следующий фрагмент в файле Gradle.

dependencies {
    implementation project(':react-native-maps')
    implementation project(':react-native-geolocation-service')
    implementation project(':react-native-background-timer')
    implementation project(':react-native-mauron85-background-geolocation')
    implementation project(':react-native-contacts')
    implementation project(':react-native-gesture-handler')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    implementation "com.facebook.react:react-native:+"  // From node_modules
}

. Я погуглил и нашел следующие строки, решающие вопросы

compile(project(':react-native-maps')) {
        exclude group: 'com.google.android.gms', module: 'play-services-base'
        exclude group: 'com.google.android.gms', module: 'play-services-maps'
    }
    compile 'com.google.android.gms:play-services-base:11.+'
    compile 'com.google.android.gms:play-services-maps:11.+'
    compile 'com.google.android.gms:play-services-location:+'

Но у меня неткомпилировать (проект .... в моем файле Gradle

Я использую

 "react": "16.6.3",
 "react-native": "0.58.6",
 "react-native-geolocation-service": "^2.0.0",
 "react-native-gesture-handler": "^1.1.0",
 "react-native-maps": "^0.23.0",

Как решить эту проблему

Ответы [ 3 ]

1 голос
/ 03 июля 2019

Я потратил навсегда на это, наконец наткнулся на две вещи.Это относится к вашему build.gradle для вашего проекта (а не к app/build.gradle):

allprojects {
    repositories {
        configurations.all {
            resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                def requested = details.requested
                if (requested.group == 'com.google.android.gms') {
                    details.useVersion '12.0.1'
                }
                if (requested.group == 'com.google.firebase') {
                    details.useVersion '12.0.1'
                }
            }
        }
        // ... whatever else you have here already
    }
}

Просто перейдите со своими стандартными реактивными настройками в вашем app/build.gradle, не пытайтесь исключать группыздесь - это не сработало для меня.

Это сделало Android <9.0 работать - отлично.Однако 9.0+ разбился, не круто.Я случайно наткнулся на эту информацию: </p>

If you are using com.google.android.gms:play-services-maps:16.0.0 
or below and your app is targeting API level 28 (Android 9.0) or 
above, you must include the following declaration within the 
<application> element of AndroidManifest.xml.

<uses-library
    android:name="org.apache.http.legacy"
    android:required="false" 
/>

https://developers.google.com/maps/documentation/android-sdk/config#specify_the_google_play_services_version_number

Я действительно надеюсь, что эта библиотека скоро будет обновлена.Надеюсь, это кому-нибудь поможет.

0 голосов
/ 20 марта 2019

compile устарело в пользу implementation.Вы можете легко заменить все вхождения слова compile словом implemenation.Таким образом, ваши зависимости станут примерно такими:

dependencies {
    implementation(project(':react-native-maps')) {
      exclude group: 'com.google.android.gms', module: 'play-services-base'
      exclude group: 'com.google.android.gms', module: 'play-services-maps'
    }
    implementation 'com.google.android.gms:play-services-base:11.+'
    implementation 'com.google.android.gms:play-services-maps:11.+'
    implementation 'com.google.android.gms:play-services-location:+'


    // implementation project(':react-native-maps') // <- you can remove this as you are using it above
    implementation project(':react-native-geolocation-service')
    implementation project(':react-native-background-timer')
    implementation project(':react-native-mauron85-background-geolocation')
    implementation project(':react-native-contacts')
    implementation project(':react-native-gesture-handler')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    implementation "com.facebook.react:react-native:+"  // From node_modules
}
0 голосов
/ 20 марта 2019

у вас открыт неправильный файл.Зайдите в Project / android / app / build.gradle, откройте файл сборки и вставьте зависимости

...