当前位置: 首页 > news >正文

使用Android studio进行Unit Test中遇到的问题记录

1、模块本身代码运行不起来

提示:
Cannot resolve method ‘getVolumes’ in ‘StorageManager’
Cannot resolve method ‘registerListener’ in ‘StorageManager’
Cannot resolve method ‘unregisterListener’ in ‘StorageManager’

查看Android 源码,发现getVolumes,registerListener和unregisterListener是被UnsupportedAppUsage修饰,这些注解的函数、类、变量是不编译进谷歌提供的sdk里面的,所以直接使用不能通过编译器检查。

解决方法:

android studio引用的sdk默认为当前android版本的Android API XX Platform的android.jar,而被UnsupportedAppUsage修饰的函数是调用不到的,所以当我们需要调用隐藏的接口或者常量时,去默认的sdk是找不到方法的,直接引用默认sdk的包Android studio就会报错。这个时候可以听过导入系统framework.jar包并更改引用库的优先级的方式来解决这个问题。
实际上就是修改引用的sdk为framework.jar,这样在编译时就会去framework.jar里面去找对应的方法。

修改配置:

//module下的配置
gradle.projectsEvaluated {tasks.withType(JavaCompile).tap {configureEach {Set<File> fileSet = options.bootstrapClasspath.getFiles()List<File> newFileList = new ArrayList<>();//JAVA语法,可连续调用,输入参数建议为相对路径newFileList.add(new File("libs/framework.jar"))//最后将原始参数添加newFileList.addAll(fileSet)options.bootstrapClasspath = files(newFileList.toArray())}}
}

修改示例
修改之后再点击run:
运行
可以成功生成apk
在这里插入图片描述
**注意:**虽然上面运行ok了,但是在代码里调用getVolumes,registerListener和unregisterListener的地方还是标红的,标红问题暂时未解决,只解决了编译问题。
继续标红

http://www.lryc.cn/news/456202.html

相关文章:

  • 智能运维与问题诊断工具:提升生产环境的安全稳定性
  • 【MAUI】CommunityToolkit社区工具包介绍
  • 【答疑解惑】图文深入详解undo和redo的区别及其底层逻辑
  • 低通滤波、反相放大器电路
  • SpringBoot助力服装生产流程优化
  • 【机器学习】线性回归算法简介 及 数学实现方法
  • 设计模式的学习
  • wordpress发邮件SMTP服务器配置步骤指南?
  • 胤娲科技:机械臂「叛逃」记——自由游走,再悄然合体
  • 分布式事务讲解 - 2PC、3PC、TCC
  • 前端基础面试题·第四篇——Vue(其二)
  • PHP反射
  • Gated Transformer Networks for Multivariate Time Series Classification
  • 这一次,AI真的能帮你实现职场跃迁
  • Python绘制--绘制心形曲线
  • 初识Linux · 自主Shell编写
  • 海报设计模板免费的好用吗?活动海报排版技巧轻松get
  • 【Linux基础】03 Linux环境基础开发工具使用
  • 【CSS】flex: 1; 的意思
  • C++ 3D冒险游戏开发案例
  • 【AIGC】Exa AI 要做 AI 领域的 Google
  • YOLOv8 基于MGD的知识蒸馏
  • 全国消防知识竞赛活动方案哪家强
  • JavaEE学习一条龙服务————概述
  • 分支预测器BPU
  • Go 系列教程 —— 数组和切片
  • 适配器模式【对象适配器模式和类适配器模式,以及具体使用场景】
  • 【EXCEL数据处理】保姆级教程 000016案例 EXCEL的vlookup函数。
  • 【软件推荐】通过Rufus制作信创操作系统U盘安装盘 _ 统信 _ 麒麟 _ 方德
  • MySql 多表设计