2

当我尝试使用$ react-native run-android.

> Task :react-native-device-info:compileDebugJavaWithJavac FAILED
/Users/user/Desktop/mobile/node_modules/react-native-device-info/android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java:31: error: package android.support.annotation does not exist
import android.support.annotation.Nullable;
                                 ^
/Users/user/Desktop/mobile/node_modules/react-native-device-info/android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java:838: error: cannot find symbol
                         @Nullable Object data) {
                          ^
  symbol:   class Nullable
  location: class RNDeviceModule
Note: /Users/ammiel/Desktop/mobile/node_modules/react-native-device-info/android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors

FAILURE: Build failed with an exception.
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-device-info:compileReleaseJavaWithJavac'.

> Compilation failed; see the compiler error output for details.

我已经 jetify 运行 postinstall 并且有

android.useAndroidX=true
android.enableJetifier=true

在我的 gradle.properties 中。

潜伏在许多页面/ github页面但没有成功:/任何帮助表示赞赏!

其他信息:

反应原生:0.59.10

反应本机设备信息:5.6.1

4

2 回答 2

0

我遇到了和你一样的问题!

但我设法通过添加依赖项来解决它。

yarn add react-native-device-info

哇!该应用程序现在正在运行。

于 2021-11-29T03:16:35.707 回答
0

对于这个问题,一种方法是您可以更新新的 `react-native-device-

info`来解决问题。

它发布注释给出了支持 androidx 的版本

2.3.0 壮举:AndroidX 支持(向后/向前兼容)(https://github.com/react-native-community/react-native-device-info/pull/733)修复:isTablet() Android 使用谷歌推荐/ 健壮的风格(https://github.com/react-native-community/react-native-device-info/pull/730

第二种方法是手动更改代码。

原因是android studio没有把它翻译成androidX API,所以报错。因此您必须手动替换它们或使用已更改为 android 的最新版本。

除了他们,你可以看到这个问题,它可能对你有帮助

于 2021-11-29T03:24:07.107 回答