问题
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:
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.
Make sure the Emulator or device has at least API 15 installed (
>= ICE_CREAM_SANDWICH_MR1
)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
Open your Module Gradle file and make sure that
compileSdkVersion
&targetSdkVersion
(and maybeminSdkVersion
&buildToolsVersion
) versiona are at least 15(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