排毒 + android 编译 DetoxTest.java 失败

Detox + android Compiling DetoxTest.java fails

我正在尝试 运行

detox build -c android.emu.release

但是当它尝试编译 DetoxTest.java 时失败并出现以下错误

  ~/android/app/src/androidTest/java/<package_name>/DetoxTest.java:24: error: cannot find symbol
    public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false);
                            ^
      symbol:   class MainActivity
      location: class DetoxTest

  ~/android/app/src/androidTest/java/<package_name>/DetoxTest.java:24: error: cannot find symbol
    public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class, false, false);
                                                                                 ^
  symbol:   class MainActivity
  location: class DetoxTest

我尝试从包中导入 MainActivity,但我发现找不到包。

RN 0.51.1 排毒:7.4.3

要解决此问题,请密切关注 README for wix/detox/AndroidSupportStatus

例如,如果您的项目名称是 myandroidproject(参见下面 settings.gradle 的 属性 rootProject.name),DetoxTest.java 将在包裹内的以下位置 com.myandroidproject.

android/app/src/androidTest/java/com/myandroidproject/DetoxTest.java

package com.myandroidproject

...

settings.gradle

rootProject.name = 'myandroidproject'

...

在你上面的情况下,你必须适当地替换 package_name

另一个问题可能是 rootProject.name 有大写字母,例如 rootProject.name = 'SomeName'。那么应该是package com.somename

除了确保我的导入语句中的项目名称正确外,我还必须更改我的目录以匹配我的包名称。不知何故,我能够使用与我过去的项目名称不同的文件夹名称构建项目,但排毒不适合这个。

导入语句:

package com.my_package_name

对应的文件夹结构:

android/app/src/main/java/com/my_package_name
android/app/src/androidTest/java/com/my_package_name