【问题标题】:Execution failed for task ':app:compileDebugJavaWithJavac':任务 ':app:compileDebugJavaWithJavac' 执行失败:
【发布时间】:2018-06-12 11:14:19
【问题描述】:

当我在 android 模拟器上尝试 $ react-native run-android 时,我收到此错误:

:app:compileDebugJavaWithJavac
/home/user/app/android/app/src/main/java/com/package/MainApplication.java:8: error: a type with the same simple name is already defined by the single-type-import of RNAWSCognitoPackage
import com.airlabsinc.RNAWSCognitoPackage;
^
1 error
Incremental compilation of 1 classes completed in 0.448 secs.
:app:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 10.964 secs
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/getting-started.html

然后我的/home/user/app/android/app/src/main/java/com/package/MainApplication.java 中有 2 个同名的导入 这可能会导致问题吗? 这是RN的问题吗?

package com.package;

import android.app.Application;

import com.facebook.react.ReactApplication;
import com.amazonaws.RNAWSCognitoPackage; // 1
import com.amazonaws.amplify.pushnotification.RNPushNotificationPackage;
import com.airlabsinc.RNAWSCognitoPackage; // 2
import com.horcrux.svg.SvgPackage;
import com.toast.ToastPackage;
import com.vdi.VDIPackage;
import com.BV.LinearGradient.LinearGradientPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;

import java.util.Arrays;
import java.util.List;

我的环境:

**Environment**:
  * OS: Linux 4.13
  * Node: 8.9.4
  * Yarn: Not Found
  * npm: 5.6.0
  * Watchman: Not Found
  * Xcode: N/A
  * Android Studio: Not Found

**Packages**: (wanted => installed)
  * react: 16.3.0-alpha.2 => 16.3.0-alpha.2
  * react-native: 0.54.2 => 0.54.2

【问题讨论】:

标签: android react-native react-native-android react-native-ios


【解决方案1】:

在JAVA中不能从不同包导入同一个类,建议去掉第一个导入:

- import com.amazonaws.RNAWSCognitoPackage; // 1 (remove this line)

【讨论】:

  • 哈哈,我刚刚看到你在一年半后发布了这个问题:D
【解决方案2】:
  1. 删除android文件夹中的build文件
  2. 删除android>app中的构建文件
  3. 运行react-native run-android

【讨论】:

    【解决方案3】:

    有几种可能,试试哪一种合适,

    1. 您可能错过了 RNAWSCognitoPackage 软件包及其相关服务的一些初始设置,无论您使用什么。所以检查一下安装设置。

    2. 如果一切正常,那么另一种情况,android 存储缓存以更快地构建。每次安装新包时,都应该清理代码并再次运行。

      删除 node_modules 和 Package-lock.json 并运行以下命令

      cd android
      
      ./gradlew clean
      
      ./gradlew cleanBuildCache
      
      npm install

    一些罕见的情况,你需要试试这个,

    npx react-native-clean-project clean-project-auto

    【讨论】:

      【解决方案4】:

      不确定这是否是正确的解决方案。可以试一试吗!

      1. 在 Android Studio 中打开您的项目。转到文件菜单,然后单击无效缓存/重新启动。
      2. 重建您的项目。
      3. 执行 npm run android 或 react-native run-android

      【讨论】:

        猜你喜欢
        • 2019-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-06
        • 2019-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多