После того, как я установил пакетact-native-maps, несмотря на то, что сборка прошла успешно, приложение просто прекратило работу с исключением.
Проверено на реальных устройствах: Samsung s9, Samsung s7, Huawei Honor 9. Android 7, 8.
Я использую оба режима: dev и release, и это происходит только в том случае, если на вашем телефоне установлено приложение GoogleFit.
java.lang.RuntimeException: Could not invoke RNGoogleFit.authorize
Caused by: java.lang.reflect.InvocationTargetException
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.fitness.request.OnDataPointListener" on path: DexPathList[[zip file "/data/app/com.myapp-zNOyxL_4OhdJigH7nWT8oA==/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-zNOyxL_4OhdJigH7nWT8oA==/lib/arm, /data/app/com.myapp-zNOyxL_4OhdJigH7nWT8oA==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]]
my android/build.gradle
:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is
installed from npm
url "$rootDir/../node_modules/react-native/android"
}
maven {
url "https://maven.google.com"
name 'Google'
}
maven { url "https://jitpack.io" }
google()
}
}
subprojects {
afterEvaluate {project ->
if (project.hasProperty("android")) {
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
}
}
}
}
ext {
buildToolsVersion = "26.0.3"
minSdkVersion = 16
compileSdkVersion = 26
targetSdkVersion = 26
supportLibVersion = "27+"
}
и мой android/app/build.gralde
:
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
applicationId "com.myapp"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
multiDexEnabled = true
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
// The Fabric Gradle plugin uses an open ended version to react
// quickly to Android tooling updates
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
compile project(':react-native-check-app-install')
compile (project(':react-native-camera')) {
exclude group: "com.google.android.gms"
exclude group: "com.android.support"
}
compile project(':react-native-fabric')
compile project(':react-native-picker')
compile project(':react-native-image-sequence')
compile project(':react-native-google-fit')
compile project(':react-native-webview-android')
compile 'com.android.support:multidex:1.0.0'
compile project(':react-native-vector-icons')
compile project(':react-native-i18n')
compile project(':react-native-pdf')
compile project(':react-native-fetch-blob')
compile project(':react-native-svg')
compile project(':react-native-splash-screen')
compile(project(':react-native-device-info')) {
exclude group: 'com.google.android.gms'
}
compile project(':react-native-maps')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
compile "com.facebook.react:react-native:+" // From node_modules
compile('com.crashlytics.sdk.android:crashlytics:2.9.4@aar') {
transitive = true;
}
compile "com.google.android.gms:play-services-base:+"
compile "com.google.android.gms:play-services-maps:+"
}
Я не нашел ни одной проблемы, похожей на эту.
Возможно, проблема может быть в разных необходимых google-play-services
версиях, но я точно не знаю, как это решить.