Var*_*A M 14 java android robolectric android-studio robolectric-gradle-plugin
I am using Robolectric library and the latest version of it v4.3.1 requires Java 9 to run. I am trying to point JRE on edit configurations but I am not finding Java 9 in the drop-down even though I have already installed it. It would be really helpful if somebody can please explain!
Please check Java 9 installed.
在 Android Studio 中运行 Robolectric 测试的唯一解决方法是更改测试任务的 JRE。
选择IDE菜单Run->Edit Configuration,然后将图片中的选项改为JDK9的位置:
目前(2020 年 4 月 27 日)您将无法针对 SDK 29 运行 Robolectric,但将来可能会更新。目前,正如我之前的所有答案所指出的,Android Studio 不支持 Java 9 或更高版本。
但是,如果您在这里运行 Robolectic 测试,则可以通过@Config为您的类设置 Robolectric注释来简单地避免 SDK 29 。Robolectric 将简单地针对您的应用程序的所有支持的 SDK 版本运行您的测试,除了 29。
设置maxSdk和minSdk版本运行。这可以基于应用程序的最小和最大 SDK 版本,或设置为如下所示的一个版本以加快测试速度。
import androidx.test.ext.junit.runners.AndroidJUnit4
import org.robolectric.annotation.Config
import org.junit.runner.RunWith
import android.os.Build
@RunWith(AndroidJUnit4::class)
@Config(maxSdk = Build.VERSION_CODES.P, minSdk = Build.VERSION_CODES.P) // Value of Build.VERSION_CODES.P is 28
class TestClass {
...
}
Run Code Online (Sandbox Code Playgroud)
当然,这只是另一个“丑陋”的补丁,但它会让您继续前进,直到您能够针对所有所需的 SDK 或至少 SDK 29 及以下所有版本运行测试。
你不能使用Java 9,Android只支持Java 8。
你应该使用Android Studio自带的JDK版本,不需要单独的JDK。当前的 JDK 版本基于 OpenJDK 8。
| 归档时间: |
|
| 查看次数: |
9797 次 |
| 最近记录: |