- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个具有以下文件结构的 android 库。
Android_Library
├── libs
└── src
├── instrumentTest
│ ├── assets
│ └── java
└── main
├── aidl
├── gen
├── java
└── res
当我使用 Gradle 组装库时,任务成功运行。但是,当我尝试运行 connectedCheck 时,出现以下有关未找到 R 文件的错误:
:validateDebugSigning
:packageDebug
:assembleDebug
:prepareTestDependencies
:compileTestAidl
:processTestTestManifest
:generateTestBuildConfig
:mergeTestAssets
:compileTestRenderscript
:mergeTestResources
:processTestResources
:compileTest
Android_Library/src/instrumentTest/java/com/example/library/util/UtilTests.java:514: error: package R does not exist
case R.plurals.time_days_ago: {
^
...
Note: Recompile with -Xlint:unchecked for details.
18 errors
:compileTest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileTest'.
> 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
我本来以为是R资源生成的问题,没想到组装的时候也会失败。
编辑:
我试过有和 R 导入语句(我知道这是不正确的)和没有和 R 导入语句。两者都会导致相同的错误。
已解决:
感谢@Xav 的提示(如下):我正在从一个较大的项目中提取一个库,并尝试自行构建它以进行模块化测试。
改变
import com.example.app.R;
库文件中的语句
com.example.library.R
允许连接的检查运行。
(显然主应用程序和库的 res 文件是相同的)。
补充说明:
由于 switch 语句采用 R id,因此 switch 语句在编译时起作用。但是,我仍然不确定为什么 gradlew assemble
使用不正确的 import
语句而 gradlew connectedCheck
失败。
最佳答案
虽然这似乎与错误无关,但我看到您正在使用来自 R 类的 ID 执行 switch 语句,但您在库中。
这是不可能的,因为这些 ID 不是最终的。
我想知道这是否是错误,但编译器感到困惑并输出不同的错误消息。
关于Android 库使用 Gradle 进行组装,但在 connectedCheck 上出现 "package R does not exist"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17711204/
$ ./gradlew clean build connectedCheck 产量 Unable to find instrumentation target package: my.package
我正在使用 jenkins+gradle 构建我的 android 应用程序。我运行命令 gradle clean connectedCheck build 当我在 jenkins 设置“显示模拟器窗
用过:github,gradle,travis CI来构建我的Android项目。 一些问题: ...... 表明它不是内部类。 :processReleaseJavaRes截止日期 :validat
问题是 Jacoco 在启用测试覆盖率的情况下执行 ./gradlew connectedCheck 后报告 Realm 生成的类。 Realm 生成大量代码,这使得覆盖率报告不可靠。 这就是测试覆盖
当我运行以下命令时,我得到了 connectedCheck 的描述,但我仍然不确定它的用途。谁能给我一个真实世界的例子? ./gradlew tasks prints ... Verification
我使用的是 Android Studio 1.2.2 和 Gradle 插件 1.2.3。 我试图在不运行 gradlew connectedCheck 的情况下生成代码覆盖率报告,只是 gradle
我有一个设置了多个模块依赖项的 Android Studio + Gradle 项目。我正在尝试将每个模块的单元测试报告合并在一起(请参阅 http://tools.android.com/tech-
我有一些图书馆项目有自己的测试。我不负责这个库项目,也不关心它的测试,但是,当我运行 gradle :app:connectedCheck 时,它会运行我的测试,但它也会运行依赖项的测试。有什么办法可
我正在尝试运行 Espresso测试 Android 应用程序。它在硬件设备上运行良好。当我在新创建的 AVD 模拟器 上运行它时,它失败,如下所示: :ExampleApp:connectedDeb
当我运行基于 android 模拟器的测试时: gradlew check connectedCheck ...它失败了: com.android.dx.util.DexException: Mul
我有一个具有以下文件结构的 android 库。 Android_Library ├── libs └── src ├── instrumentTest │ ├── assets
在 Android gradle 插件中有 aapt 和 dex 的选项,但我找不到在哪里可以将参数传递给任务使用的 adb,例如 install 和 connectedCheck(以及任何其他将使用
AndroidStudio 更新后,我将 wrapper 中的 gradle 更新为 1.9,并在 build.gradle 的依赖项中更新为 0.7.+。 从那以后,我在运行 ./gradlew c
我是一名优秀的程序员,十分优秀!