React 本机应用程序无法在 android 版本 11 上运行

Posted

技术标签:

【中文标题】React 本机应用程序无法在 android 版本 11 上运行【英文标题】:React native application not working on android version 11 【发布时间】:2021-07-22 15:58:36 【问题描述】:

我在 react native 中创建了一个应用程序。在 android 版本 11 上它不起作用。我试图登录,但它给出了一个错误,并且使用相同的 id 和密码,它可以在 android 版本 10 或更低版本上运行。

 buildToolsVersion = "29.0.0"
 minSdkVersion = 16
 compileSdkVersion = 29
 targetSdkVersion = 29
 supportLibVersion = "29.0.0"

我应该将targetsdkversion更新到30吗?

日志猫

2021-06-04 12:57:12.798 4375-10265/com.xxxI/ReactNativeJS: 'parameters :-',  id: 'LOGIN_ID',
      api: 
        body: 
           _parts: 
             [ [ 'command', 'login' ],
               [ 'username', 'xxxxxxxxxxxxxx.com ' ],
               [ 'password', 'xxxxxxx' ] ]   
2021-06-04 12:57:12.834 4375-4375/com.xxx D/InputMethodManager: HSIFW - flag : 0
2021-06-04 12:57:41.165 4375-10218/com.xxx I/com.xxx: NativeAlloc concurrent copying GC freed 541077(17MB) AllocSpace objects, 16(320KB) LOS objects, 49% free, 7125KB/13MB, paused 213us total 115.644ms
2021-06-04 12:57:41.214 4375-10220/com.xxx W/System: A resource failed to call release. 
2021-06-04 12:58:12.828 4375-10265/com.xxx I/ReactNativeJS: 'In catch...error :-',  [Error: timeout] line: 557, column: 376, sourceURL: 'index.android.bundle' 

也得到

 E/Netd: getNetworkForDns: getNetId from enterpriseCtrl is netid 0

更新:该应用终于在 android 11 上运行

android/build.gradle

      buildToolsVersion = "30.0.0"
      minSdkVersion = 16
      compileSdkVersion = 30
      targetSdkVersion = 30
      supportLibVersion = "30.0.0"

android/app/build.gradle

minifyEnabled true

androdi/app/src/debug/AndroidManifest.xml

tools:targetApi="30"

【问题讨论】:

【参考方案1】:

在 android\build.gradle 中添加:

ext 
    minSdkVersion = 21
    compileSdkVersion = 30
    targetSdkVersion = 30
    buildToolsVersion = "30.0.2"
    ndkVersion = "20.1.5948944"

在 android\app\build.gradle 中添加:

implementation("com.squareup.okhttp3:okhttp:4.9.1")
implementation("com.squareup.okhttp3:okhttp-urlconnection:4.9.1")

【讨论】:

在 android app build.Gradle 在依赖项中添加以下行,它的工作正常。implementation("com.squareup.okhttp3:okhttp:4.9.1") implementation("com.squareup.okhttp3:okhttp -urlconnection:4.9.1") 100% 以上代码工作

以上是关于React 本机应用程序无法在 android 版本 11 上运行的主要内容,如果未能解决你的问题,请参考以下文章

React 本机信标管理器 - android 上的背景

我已经创建了 React 本机应用程序并将其构建为独立的 android apk 文件,但如果不连接到同一网络,我将无法使用它

无法在新的 Xcode 版本 13 上运行 React 本机 IOS 应用程序

无法为 ios 运行 react 本机项目

当应用程序处于后台状态(Android)时,远程推送通知提示无法在本机反应中工作

React 本机 ANDROID 构建失败并在 BasePackageList.java 中出现错误。可变参数不匹配; ApplicationPackage 无法转换为 Package