所以我已经开发一个应用程序大约一年了,实际上是两个应用程序,一个电子叫车应用程序,一个乘客和一个司机应用程序。
现在我已经完成并即将发布到 Google Play 商店,Google Play 商店不允许目标 SDK 小于 34。
我的应用程序是基于 sdk 33 构建的,所以我必须将其更改为 sdk 34,现在的问题是,该应用程序在 android 模拟器上运行良好,但不能在真实设备上运行,它会立即崩溃,并出现几个错误,但三个主要错误
应用程序构建:react-native版本:0.71.12
错误
07-07 08:12:30.518 11330 11330 E SoLoader:找不到要加载的 DSO:libjscexecutor.so
07-07 08:12:30.614 11330 11330 E AndroidRuntime: 致命异常: main 07-07 08:12:30.614 11330 11330 E AndroidRuntime: 进程: com.roundtripzdriver, PID: 11330 07-07 08:12:30.614 11330 11330 E AndroidRuntime:java.lang.RuntimeException:无法创建应用程序com.roundtripzdriver.MainApplication:java.lang.RuntimeException:请求启用DevSupportManager,但未找到或无法创建BridgeDevSupportManager类
和
07-07 08:12:30.614 11330 11330 E AndroidRuntime:导致:java.lang.SecurityException:com.roundtripzdriver:当接收器未专门为系统广播注册时,应指定 RECEIVER_EXPORTED 或 RECEIVER_NOT_EXPORTED 之一
当我恢复到 sdk33 时,它在模拟器和真实设备上运行良好
buildscript {
ext {
buildToolsVersion = "33.0.0"
minSdkVersion = 21
compileSdkVersion = 34
targetSdkVersion = 34
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
ndkVersion = "23.1.7779620"
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath("com.android.tools.build:gradle:7.4.2")
classpath("com.facebook.react:react-native-gradle-plugin")
classpath("com.google.gms:google-services:4.3.8")
}
}
有趣的是,这与我在骑手应用程序上的配置完全相同,唯一的区别是
骑手应用程序有一个较低的react-native版本0.71.4并且在buildscript.dependency中有一个classpath(“com.android.tools.build:gradle:7.3.1”)
而驱动程序应用程序(崩溃的那个)有一个更高的 React Native 版本 0.71.12 并且在 buildscript.dependency 中有一个 classpath("com.android.tools.build:gradle:7.4.2")
我尝试更改驾驶员应用程序的类路径以适应骑手应用程序,但没有改变
老实说,我已经研究这个问题一周了,找不到任何解决方案,我束手无策,所以任何帮助将不胜感激。
这个问题已经解决了,我刚刚将我的react-native版本从0.71.12升级到0.71.13
还将构建工具版本增加到34.0.0