Android Studio3.3中Cannot resolve symbol ActivityTestRule
最近在看《Android编程权威指南》,在Windows10下安装了Android Studio3.3,边看编练习书中的例子程序,看到第21章“”音频播放与单元测试”中的21.12 深入学习:Espresso 与整合测试时,发现一个问题:ActivityTestRule这个类无法识别,如下图所示:

ActivityTestRule
把鼠标定位到ActivityTestRule类所在位置,出现Cannot resolve symbol ‘ActivityTestRule’的错误,查阅Android开发文档,
发现需要导入android.support.test.rule.ActivityTestRule
import android.support.tst.rule.ActivityTestRule;
但是导入了之后还是出现Cannot resolve symbol ‘ActivityTestRule’的错误,于是求助于Google,最后发现要使用ActivityTestRule类光导入android.support.test.rule.ActivityTestRule不行,还得添加库依赖项:
添加依赖项有两种方式:
方法一、在项目app所在目录下的build.gradle中添加如下的依赖:
androidTestImplementation 'com.android.support.test:rules:1.0.2'
方法二、:
在Android视图的app项中,选中app,单击鼠标右键,选中“Open Module Settings”,打开【Project Structure】对话框,在app项找到右侧的Dependencies,如下图所示:
选中最右上方的“+”号,添加新的“Library Dependency”,
在文本框中输入rules搜索,如下图所示:
单击OK按钮后,com.android.support.test:rules:1.0.2就导入成功了,
从上图可以看出,rules 1.0.2库默认Scope是Implementation的,如果需要进行测试如Unit Test或者是InstrumentedTest时,则需要修改对应的Scope选项,改成Test Implementation(针对整合测试)或者Unit Test Implementation(针对单元测试),其所在文件app/build.gradle也会相应的修改,如下图所示:
dependencies {
implementation fileTree(inclu: ['*.jar'], dir: 'libs')
implementation 'com.adroid.support:appcompat-v7:28.0.0'
im最后,ActivityTestRule终于可以使用了,如下图所示:
参考了两个资源:
1、Cannot resolve symbol ‘ActivityTestRule’ - SOLVED
2、Why cannot I import AndroidJUnit4 and ActivityTestRule into my unit test class?
Android Studio3.3中Cannot resolve symbol ActivityTestRule的更多相关文章
- 【Android TimeCat】 解决cannot resolve symbol R
莫名其妙出现了,鬼知道怎么来的. 解决方法总结 1. 推荐 解决90%的情况: Build->Clean ProjectBuild->Rebuild Project 2. 不常见 Andr ...
- Android Studio3.0中dependencies依赖由compile变为implementation的区别
前言 Android Studio版本更新至3.0了,更新后,连带着com.android.tools.build:gradle 工具也升级到了3.0.0,在3.0.0中使用了最新的Gralde 4. ...
- idea-----idea中“cannot resolve symbol servlet”的解决
原文章链接: 传送器>>>>>>>>>>>>>>>>. 第一次使用IntelliJ IDEA时我遇到了& ...
- 【Android Studio安装部署系列】三十七、从Android Studio3.2升级到Android Studio3.4【以及创建Android Q模拟器】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 保持Android Studio开发环境的最新版本. 下载Android Studio3.4 使用Android Studio自带的 ...
- Android Studio3.x新的依赖方式(implementation、api、compileOnly)
https://blog.csdn.net/yuzhiqiang_1993/article/details/78366985?locationNum=6&fps=1 Android Studi ...
- Android Studio --“Cannot resolve symbol” 解决办法
鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 Android Studio,重新 sync gradle,Clean build 都没有用. 多半是因为 Androi ...
- 【转】 Android Studio --“Cannot resolve symbol” 解决办法
Android Studio 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题.鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 ...
- Android Studio "cannot resolve symbol R" 问题
初接触Android Studio,又遇到了 "cannot resolve symbol R"问题(以前在 Eclipse 也遇到过),网上方法不一,后来在stackoverfl ...
- 【转】在Android Studio中下载Android SDK的两种方式(Android Studio3.0、windows)
在Android Studio中下载Android SDK的两种方式(Android Studio3.0.windows) 方式一.设置HTTP Proxy1. 打开Settings2. 点击HTTP ...
随机推荐
- LeetCode 求众数 II
题目链接:https://leetcode-cn.com/problems/majority-element-ii/ 题目大意: 略. 分析: k个一起删, 最后check一下即可. 代码如下: #d ...
- css浮动以及清除
首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流.如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为d ...
- Ajax 中Post 与 Get的 实例
Ajax中 Post 与 Get 实例 Ajax的POST实例,index.html <html> <head> <script type="text/ja ...
- luoguP2680 运输计划 题解(二分答案+树上差分)
P2680 运输计划 题目 这道题如果是看的我的树上差分来的,那么肯定一看题目就可以想到树上差分. 至于这是怎么想到的,一步一步来: 1.n有300000,不可能暴力枚举每一条边 2.因为我们要使运 ...
- PyQt5实战1-搭建conda环境
一.安装Anaconda 下载地址:https://repo.anaconda.com/archive/Anaconda3-2019.03-Windows-x86_64.exe 软件版本:Anacon ...
- poj1426 Find The Multiple (DFS)
题目: Find The Multiple Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 41845 Accepted: ...
- 字符串String的使用方法
var ddd = "举头望明月,低头思故乡" document.writeln(ddd.split(''));//选择字符串中的一个标识符,将字符串分割成数组; var slic ...
- 简单认识php
1.输出语句: echo 'hello world'; 2.声明变量用 $ 符号 $uname = 'andy'; 3. php 拼接字符串用 点(.) //设置中文编码 header("c ...
- Quartz -----定时任务框架
一.什么是Quartz 由java开发用来执行定时任务,类似于java.util.Timer. 但是相较于Timer,quartz增加了很多功能: 持久性 ...
- 对struct typedef *的认识
typedef struct node { ……… }NODE,*PNODE; 应该等价于 typedef struct node NODE;//struct node = NODE,eg:struc ...