在配置打包程序时无法在项目中找到"expo"包正在启动JS服务器。。。正在设备上构建和安装应用程序(cd android&./gradlew installDebug)。。。
任务:app:compileDebugJavaWithJavac失败/media/rahul/OTHER FILES/mob/first/android/app/src/main/java.com/practice/MainApplication.java:5:错误:找不到符号导入com.facebook.react.ReactApplication;^symbol:类ReactApplication位置:包com.facebook.react/media/rahul/OTHER FILES/mob/first/android/app/src/main/java.com/practice/MainApplication.java:6:错误:找不到符号导入com.facebook.react.ReactNativeHost;^symbol:类ReactNativeHost位置:包com.facebook.react/media/rahul/OTHER FILES/mob/first/android/app/src/main/java.com/practice/MainApplication.java:14:错误:找不到符号公共类MainApplication扩展应用程序实现ReactApplication{^symbol:类ReactApplication/media/rahul/OTHER FILES/mob/first/android/app/src/main/java.com/practice/MainApplication.java:16:错误:找不到符号private final ReactNativeHost mReactNative Host=新的React NativeHost(this){^symbol:类ReactNativeHost位置:类MainApplication/media/rahul/OTHER FILES/mob/first/android/app/src/main/java.com/practice/MainApplication.java:36:错误:找不到符号public ReactNativeHost getReactNative Host(){^symbol:类ReactNativeHost位置:类MainApplication/media/rahul/OTHER FILES/mob/first/android/app/src/main/java.com/practice/MainActivity.java:5:error:MainActivity不是抽象的,并且没有覆盖ReactActivity中的抽象方法getPackages()公共类MainActivity扩展了ReactActivity{^/media/rahul/OTHER FILES/mob/first/android/app/src/main/java.com/practice/MainApplication.java:16:错误:找不到符号private final ReactNativeHost mReactNative Host=新的React NativeHost(this){^symbol:类ReactNativeHost位置:类MainApplication/media/rahul/OTHER FILES/mob/first/android/app/src/main/java.com/practice/MainApplication.java:35:错误:方法未重写或实现超类型中的方法@Override^8个错误
失败:生成失败,出现异常。
-
出了什么问题:任务":app:compileDebugJavaWithJavac"的执行失败。
编译失败;有关详细信息,请参阅编译器错误输出。
-
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。使用--scan运行以获得完整的见解。
-
获取更多帮助,请访问https://help.gradle.org
构建在22秒内失败15项可操作任务:14项已执行,1项最新任务无法在设备上安装应用程序,请阅读上面的错误以了解详细信息。确保你有一个正在运行的Android模拟器或连接的设备,并且设置您的Android开发环境:https://facebook.github.io/react-native/docs/getting-started.html
我是第一次设置react原生项目,请检查我是否正确地遵循了步骤?1.首先创建react原生应用程序2.npm运行弹出3.打开android工作室,然后打开模拟器4.react原生运行android但是如上所述出现错误。
出现此错误是因为您的RN版本与Android的build.gradle版本不同。当你创建一个react原生应用程序时,它可能会创建android应用程序,比如:
android/app/build.gradle
implementation "com.facebook.react:react-native:+"
因此,检查node_modules文件夹,查找react本机文件夹,并查找带有数字的文件夹,这些数字就是react本机型。对我来说,它是0.58.3,然后更新android/app/build.gradle:
implementation "com.facebook.react:react-native:0.58.3"
这就是全部。
如果您在这里是因为这个React Native错误:
> Task :react-native-community_toolbar-android:compileDebugJavaWithJavac FAILED
该解决方案正在将@react原生社区/工具栏android更新为0.2.1版本
您应该提供更多信息。你发布的错误帮助不大。
如果没有更多信息,您可以尝试:
cd android && ./gradlew clean
看看它是否有帮助。
值得一提的是,我在谷歌上搜索了类似的编译问题,问题是操作系统更新将Java JDK从我的路径上删除了。解决了这个问题。
[对于被谷歌带到这里的人]
在我的情况下,错误出现在我尝试使用react-native link
链接@react-native-async-storage/async-storage
之后。
我使用React Native CLI初始化了我的项目,这是后面的几个小版本。但我将依赖关系与npx react-native link
联系起来版本不匹配
据我所知,这是那个错误的根本原因。
您最有可能在android/app/src/main/java/com/focustime/MainApplication.java
和android/settings.gradle
内部进行更改。如果您使用git
进行开发,只需checkout
这两个文件。
以下是RN link
引入的更改:
diff --git a/android/app/src/main/java/com/focustime/MainApplication.java b/android/app/src/main/java/com/focustime/MainApplication.java
index ed18f44..2bdc42c 100644
--- a/android/app/src/main/java/com/focustime/MainApplication.java
+++ b/android/app/src/main/java/com/focustime/MainApplication.java
@@ -4,6 +4,7 @@ import android.app.Application;
import android.content.Context;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
+import com.reactnativecommunity.asyncstorage.AsyncStoragePackage;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
diff --git a/android/settings.gradle b/android/settings.gradle
index 20ccd07..f6f51cd 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -1,3 +1,5 @@
rootProject.name = 'FocusTime'
+include ':@react-native-async-storage_async-storage'
+project(':@react-native-async-storage_async-storage').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-async-storage/async-storage/android')
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'
我也收到了类似的崩溃报告。但在我的案例中,问题是缺少JAVA_HOME
的环境变量。我将其设置为与Android Studio中相同的路径,并修复了问题:文件->项目结构->SDK位置->JDK位置。
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"
这种情况发生在我身上,因为我忘记安装一些模块。
我跑步:
1.npm install
2.npx react-native run-android
OBS:你也可以运行npx react-native link
。链接您的模块。
大多数情况下,这是由于ANDROID_HOME的配置没有正确完成。其他时候这是由于渐变版本与不匹配
如果您使用的是较新Mac的默认zsh打开终端并键入这些命令
nano ~/.zshrc or vim ~/.zshrc
并粘贴这三行
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
保存文件,然后运行
source ~/.zshrc
完全关闭终端并运行模拟器
在我的情况下是
我的React本机版本是0.62.2
和
buildToolsVersion = "31.0.0"
minSdkVersion = 21
compileSdkVersion = 31
targetSdkVersion = 31
supportLibVersion = "28.0.0"
所以我只更新compiledSdkVersion
和targetSdkVersion
buildToolsVersion = "31.0.0"
minSdkVersion = 21
compileSdkVersion = 33
targetSdkVersion = 33
supportLibVersion = "28.0.0"
Android 13支持compiledSdkVersion,targetSdkVersion应更改为33
我通过首先检查是否正确设置了所有JAVA环境变量否则设置:
> JAVA_HOME : C:Program FilesJavajdk1.8.0_112
> JDK_HOME : %JAVA_HOME%
> JRE_HOME : %JAVA_HOME%jre
> CLASSPATH : .;%JAVA_HOME%lib;%JAVA_HOME%jrelib
> PATH : ....;%JAVA_HOME%bin
然后我添加了jdk路径:
org.gradle.java.home=C:\Program Files\java\jdk1.8.x.x
到gradle.properties
最后,我在终端上运行了:
cd android &&./gradlew clean
cd .. && react-native run-android
当我在React Native项目中遇到这个问题时,我做了一些有用的步骤。按照以下方式操作:
- 在我的终端中,通过键入cd android移动到android文件夹
- 然后键入/gradlew干净。大约需要1分钟
- 键入返回根文件夹。。cd
- 运行此命令以重建npx react native Run android