Robotium: Please install a compatible Android API level (15 or higher)

*爱你&永不变心* 提交于 2020-01-30 04:59:31

问题


Trying to run a new robotium test I get this error. Does anyone know how to fix it?

I've all the APIs needed. (15 and a lot of higher APIs). What am I missing?

This is part of my gradle file:

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "com.centervue.exam"
        minSdkVersion 19
        targetSdkVersion 25
        // DO NOT PUT HERE VERSION NAME, THX. Change the Manifest

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        ndk {
            moduleName "exam_filter"
            ldLibs "log", "jnigraphics"
        }
        renderscriptTargetApi 18
        renderscriptSupportModeEnabled true
    }
[...]

UPDATE: after changing every support library versions from 25+ or + to at least 25.+ to avoid mixed libraries... it works and starts. Although now I get this message:

The JavaCompile.setDependencyCacheDir() method has been deprecated and is scheduled to be removed in Gradle 4.0. Incremental java compilation is an incubating feature. FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'executorproject'. > org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 1.883 secs

Any idea? We are almost there I think.


回答1:


  1. From your project/android panel, press F4 to open the project structure. Select SDK Location and check that the Android SDK location path is in fact the same SDK installation you have downloaded your API's to.

  2. Make sure the Emulator or device has at least API 15 installed (>= ICE_CREAM_SANDWICH_MR1)

  3. Ensure the exact same API is available in your SDK as your device:

User Guide: Make sure the Android API level of the connected device or emulator is available in the Android SDK Manager

  1. Open your Module Gradle file and make sure that compileSdkVersion & targetSdkVersion (and maybe minSdkVersion & buildToolsVersion) versiona are at least 15

  2. (For the benefit of any future readers) Make sure you have a test set up for it to run, otherwise you don't have the option




回答2:


To fix this problem, beside what told by Nick Cardoso, I've:

  • created a new AVD and from there installed all the AVD libraries of the 25 library. Google's APIs included. It didn't worked.
  • I've tried opening File > Settings > Systems settings > Android SDK > Clicked on the "Edit" button next to the SDK location and re-installed the Android SDK from the view that opens from there.
  • I've checked every support library in my dependencies moving them from :+ or 25+ to at least 25.+ to avoid libraries version mismatch.

Now I get no more this problem (but I have the one described in the description).



来源:https://stackoverflow.com/questions/42908481/robotium-please-install-a-compatible-android-api-level-15-or-higher

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!