Android Studio 设置显示sdk源码

想看TextUtils isEmpty的源码,结果出现的源码没有实际内容,只有一个抛出异常:RuntimeException("stub!!”) 这是为何呢? 小创做 - Android单元测试(七):Robolectric,在JVM上调用安卓的类html

解释: 咱们知道安卓的app须要运行在delvik上面,咱们开发Android app是在JVM上面,在开发以前咱们须要下载各个API-level的SDK的,下载的每一个SDK都有一个android.jar的包,这些能够在你的androidsdkhome/platforms/下面看到。当咱们开发一个项目的时候,咱们须要指定一个API-level,其实就是将对应的android.jar 加到这个项目的build path里面去。这样咱们的项目就能够编译打包了。然而如今的问题是,咱们的代码必须运行在emulator或者是device上面,说白了,就是咱们的IDE和SDK只提供了开发和编译一个项目的环境,并无提供运行这个项目的环境,缘由是由于android.jar里面的class实现是不完整的,它们只是一些stub,若是你打开android.jar下面的代码去看看,你会发现全部的方法都只有一行实现: throw RuntimeException("stub!!"); 而运行unit test,说白了仍是个运行的过程,因此若是你的unit test代码里面有android相关的代码的话,那运行的时候将会抛出RuntimeException("stub!!")。为了解决这个问题,如今业界提出了不少不一样的程序架构,好比MVP、MVVM等等,这些架构的优点之一,就是将其中一层抽出来,变成pure Java实现,这样作unit testing就不会遇到上面这个问题了,由于其中没有android相关的代码。java

java - meaning of RuntimeException("Stub!") in Android This is because source code is not found in SDK. To see the source code, you need to download source for Android SDK, so Android studio can display the respective code.android

打开Android SDK Manager 下载你须要的源码(Sources for Android SDK) 下载完成后会在你的SDK 根目录下的source 文件夹。正常这样重启Android Studio 应该就能看到源码了,应该是Android Studio 有问题,因此看不到源码。架构

怎么打开Android SDK Manager? Tools菜单——Android——SDK Manager 或者Preferences中搜索SDK也能找到 正常状况下是不会显示Sources for Android SDK 的,须要点击右下角的Show Package Details 通常状况下下载了某个Android SDK后对应的Sources源码也会自动下载下来app

可是对TextUtils isEmpty在Android Studio中按Cmd+B快捷键显示源码时,仍然显示RuntimeException("stub!!”) 这样的源码,这是由于有以前的记忆存在。怎么修改呢?注意右上角应该有一个相似于Edit xxxx的快捷键,这里能够选择源码,大概是选择Sdk/source下面的android26(由于个人项目是用到了android26 sdk )文件夹就好了,source下面不须要指定android.jar也没有android.jar文件jvm

顺便发一个连接,https://www.kanxs123.com/ ,这是朋友作的一个小说网站单元测试

相关文章
相关标签/搜索