Я работаю над проектом ReactNative, чтобы у него было несколько нативных зависимостей. Когда мы разрабатывали программное обеспечение, мы заметили, что приложение имеет sh. Итак, мы выпустили проект и запустили на реальном устройстве (XIAOMI Redmi Note 4x)
и начали отлаживать cra sh, и единственное полученное нами сообщение было: https://i.stack.imgur.com/8n3Zq.jpg
И наши собственные зависимости были:
implementation project(':@metrixorg_react-native-metrix')
implementation project(':lottie-react-native')
implementation project(':react-native-firebase')
implementation project(':react-native-vector-icons')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.facebook.react:react-native:+" // From node_modules
implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
implementation "com.google.android.gms:play-services-base:16.1.0"
implementation "com.google.firebase:firebase-core:16.0.9"
implementation "com.google.firebase:firebase-messaging:18.0.0"
implementation 'com.android.support:multidex:1.0.3'
implementation('com.crashlytics.sdk.android:crashlytics:2.9.9@aar') {
transitive = true
}
Когда вы увидели журнал cra sh, мы обнаружили, что он определенно был из этого пакета: :@metrixorg_react-native-metrix
.
Первым решением было удалить пакет, поэтому мы сделали это, и cra sh был полностью решен.
Когда мы убедились, что с пакетом возникла проблема, мы попытались exclude group: 'com.squareup.okhttp3'
из пакета и собрал его заново, к сожалению, когда ':@metrixorg_react-native-metrix'
находится в собственных зависимостях, у нас есть cra sh в другом месте приложения.
Последние изменения в build.gradle dependencies
:
dependencies {
implementation(project(':@metrixorg_react-native-metrix')){
exclude group: 'com.squareup.okhttp3'
}
implementation(project(':lottie-react-native')){
exclude group: 'com.squareup.okhttp3'
}
implementation(project(':react-native-firebase')){
exclude group: 'com.squareup.okhttp3'
}
implementation project(':react-native-vector-icons')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.facebook.react:react-native:+" // From node_modules
implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
implementation "com.google.android.gms:play-services-base:16.1.0"
implementation "com.google.firebase:firebase-core:16.0.9"
implementation "com.google.firebase:firebase-messaging:18.0.0"
implementation 'com.android.support:multidex:1.0.3'
implementation('com.crashlytics.sdk.android:crashlytics:2.9.9@aar') {
transitive = true
}
// implementation 'com.google.firebase:firebase-inappmessaging-display:17.2.0'
// implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'
if (enableHermes) {
def hermesPath = "../../node_modules/hermes-engine/android/";
debugImplementation files(hermesPath + "hermes-debug.aar")
releaseImplementation files(hermesPath + "hermes-release.aar")
} else {
implementation jscFlavor
}
}
Журнал react-native info
:
System:
OS: macOS Mojave 10.14.6
CPU: (4) x64 Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
Memory: 83.49 MB / 8.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.14.1 - /usr/local/bin/node
Yarn: 1.15.2 - /usr/local/bin/yarn
npm: 6.4.1 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
Android SDK:
API Levels: 23, 25, 27, 28, 29
Build Tools: 23.0.1, 25.0.3, 27.0.3, 28.0.2, 28.0.3
System Images: android-27 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.5 AI-191.8026.42.35.6010548
Xcode: 11.2.1/11B500 - /usr/bin/xcodebuild
npmPackages:
react: 16.9.0 => 16.9.0
react-native: 0.61.5 => 0.61.5
npmGlobalPackages:
react-native-cli: 2.0.1