4

我正在尝试运行

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

4

3 回答 3

8

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

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

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

package com.myandroidproject

...

设置.gradle

rootProject.name = 'myandroidproject'

...

在上述情况下,您必须适当地替换package_name

于 2018-09-12T12:52:41.790 回答
2

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

于 2020-03-26T16:18:00.600 回答
0

除了确保我的项目名称在我的导入语句中正确之外,我还必须更改我的目录以匹配我的包名称。不知何故,我能够使用与我过去的项目名称不同的文件夹名称来构建项目,但是 detox 对此并不满意。

进口声明:

package com.my_package_name

对应的文件夹结构:

android/app/src/main/java/com/my_package_name
android/app/src/androidTest/java/com/my_package_name
于 2020-06-09T18:25:38.583 回答