我安装了Jetifier来解决react-native-gesture-handler的问题,但是现在出现此错误:
> Task :expo-constants:compileDebugJavaWithJavac FAILED
C:\ioweu\node_modules\expo-constants\android\src\main\java\expo\modules\constants\ConstantsService.java:6: error: cannot find symbol
import androidx.annotation.Nullable;
^
symbol: class Nullable
location: package androidx.annotation
C:\ioweu\node_modules\expo-constants\android\src\main\java\expo\modules\constants\ConstantsService.java:51: error: cannot find symbol
@Nullable
^
symbol: class Nullable
location: class ConstantsService
2 errors
FAILURE: Build failed with an exception.
我正在使用React Native和Android Studio。我对这一切仍然是陌生的,因此不胜感激。
这是我的依赖项:
dependencies {
implementation project(':react-native-gesture-handler')
implementation project(':react-native-image-picker')
implementation project(':react-native-splash-screen')
implementation project(':react-native-screens')
implementation project(':react-native-reanimated')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
addUnimodulesDependencies()
}
为解决我之前的错误,我按照https://github.com/facebook/react-native/issues/25483#issuecomment-508446776的内容进行了操作,据我了解,我将项目更改为使用AndroidX。
要解决这两个新错误,我尝试在我的gradle.build依赖项中添加行implementation "com.android.support:support-annotations:+"
,然后运行./gradlew clean,但没有用,或者我做错了。我想我正在以错误的方式来做。
编辑:我添加了implementation "androidx.annotation:annotation:1.1.0"
,但它仍然无法解决任何问题。
编辑2:我在这里尝试了该指南:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility#recommended-use-android-studio-to-migrate-your-app。步骤1,步骤3和步骤4是似乎唯一适用于我的步骤。
这导致以下错误:
error: package android.support.v7.app does not exist
import android.support.v7.app.AppCompatActivity;
编辑3:通过向我的build.gradle中添加implementation "androidx.appcompat:appcompat:1.1.0"
并替换
import android.support.v7.app.AppCompatActivity;
与
import androidx.appcompat.app.AppCompatActivity;
我的问题现已解决。我很抱歉提出这样的问题,对于那些对此更精通的人来说似乎是个障碍。