最近在看《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的更多相关文章

  1. 【Android TimeCat】 解决cannot resolve symbol R

    莫名其妙出现了,鬼知道怎么来的. 解决方法总结 1. 推荐 解决90%的情况: Build->Clean ProjectBuild->Rebuild Project 2. 不常见 Andr ...

  2. Android Studio3.0中dependencies依赖由compile变为implementation的区别

    前言 Android Studio版本更新至3.0了,更新后,连带着com.android.tools.build:gradle 工具也升级到了3.0.0,在3.0.0中使用了最新的Gralde 4. ...

  3. idea-----idea中“cannot resolve symbol servlet”的解决

    原文章链接: 传送器>>>>>>>>>>>>>>>>. 第一次使用IntelliJ IDEA时我遇到了& ...

  4. 【Android Studio安装部署系列】三十七、从Android Studio3.2升级到Android Studio3.4【以及创建Android Q模拟器】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 保持Android Studio开发环境的最新版本. 下载Android Studio3.4 使用Android Studio自带的 ...

  5. Android Studio3.x新的依赖方式(implementation、api、compileOnly)

    https://blog.csdn.net/yuzhiqiang_1993/article/details/78366985?locationNum=6&fps=1 Android Studi ...

  6. Android Studio --“Cannot resolve symbol” 解决办法

    鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 Android Studio,重新 sync gradle,Clean build 都没有用. 多半是因为 Androi ...

  7. 【转】 Android Studio --“Cannot resolve symbol” 解决办法

    Android Studio 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题.鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 ...

  8. Android Studio "cannot resolve symbol R" 问题

    初接触Android Studio,又遇到了 "cannot resolve symbol R"问题(以前在 Eclipse 也遇到过),网上方法不一,后来在stackoverfl ...

  9. 【转】在Android Studio中下载Android SDK的两种方式(Android Studio3.0、windows)

    在Android Studio中下载Android SDK的两种方式(Android Studio3.0.windows) 方式一.设置HTTP Proxy1. 打开Settings2. 点击HTTP ...

随机推荐

  1. 洛谷P2387 [NOI2014]魔法森林(LCT)

    魔法森林 题目传送门 解题思路 把每条路按照\(a\)的值从小到大排序.然后用LCT按照b的值维护最小生成树,将边按照顺序放入.如果\(1\)到\(n\)有了一条路径,就更新最小答案.这个过程就相当于 ...

  2. js设置cookies

    //写入cookies的方法 function setCookie(name, value, seconds) { seconds = seconds || 0; //seconds有值就直接赋值,没 ...

  3. Cocos2d 之FlyBird开发---GameAbout类

    |   版权声明:本文为博主原创文章,未经博主允许不得转载.(笔者才疏学浅,如有错误,请多多指教) 一般像游戏关于的这种界面中,主要显示的是游戏的玩法等. GameAbout.h #ifndef _G ...

  4. 一、python基础之字符串的处理

    最近开始重新回过头来巩固一下python的基础知识,并在此做一些记录以便未来更好的回顾 一.字符串的大小写转换 title() 使用title()方法可以将字符串中每个单词的首字母大写 name = ...

  5. BZOJ 1779. [Usaco2010 Hol]Cowwar 奶牛战争

    传送门 考虑构建网络流模型 把一个流量看成一只奶牛的攻击过程,那么答案就是最大流 因为每只奶牛只能操作一波,所以构造分层图,一层相当于一步 第一层就是初始状态,从 $S$ 向所有 $J$ 奶牛连一条流 ...

  6. java中延迟任务的处理方式

    1.利用延迟队列 延时队列,第一他是个队列,所以具有对列功能第二就是延时,这就是延时对列,功能也就是将任务放在该延时对列中,只有到了延时时刻才能从该延时对列中获取任务否则获取不到…… 应用场景比较多, ...

  7. JS事件委托(事件代理,dom2级事件)

    一.前言 说实话,真问我什么是事件委托,我肯定gg,还好查了一下,原来就是我之前练习过的DOM2级事件的应用. 二.什么是事件委托? 事件委托就是当事件触发时,把要做的事委托给父元素(或父元素的父元素 ...

  8. 【牛客网-剑指offer】矩形覆盖

    题目: 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形.请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 分析: 假设2为高,n为宽 因为高为2固定,会出现固定情况,即无论 ...

  9. Linux下tree的使用介绍

    1.在ubuntu系统中默认是没有tree这个命令的,需要安装,用下面的命令就可以安装tree这个命令工具sudo apt-get install tree. 2.首先来说说使用tree这个命令,就是 ...

  10. @ResponseEntity返回值(怪异)

    定制相应头 /** * 将返回数据放在响应体中 * * ResponseEntity<String>:响应体中内容的类型 * @return */ //@ResponseBody @Req ...