Kann kein Java Runtime Android Studio Robolectric finden

Ich habe Robolectric zu einem Android-Projekt hinzugefügt. Ich benutze Android Studio mit Build Tools in 19.0.1.

Ich kann die Tests mit:

  • Kombinieren Sie Spinner und AutoCompleteTextView
  • Zeigen Sie Millisekunden mit Android Chronometer
  • Android-Symbol vs Logo
  • Starten Sie eine Android App / Absicht von einem NFC-Tag?
  • Übersetzen der Android-Telefonnummer Label-ID zum String
  • Android Recyclerview vs ListView mit Viewholder
  • $./gradlew test 

    Was gut läuft

    Wenn ich versuche:

     $ gradle installDebug 

    Es läuft auch gut:

     $ ./gradlew installDebug WARNING: Dependency commons-logging:commons-logging:1.1.1 is ignored for debugTest as it may be conflicting with the internal version provided by Android. In case of problem, please repackage it with jarjar to change the class packages WARNING: Dependency org.apache.httpcomponents:httpclient:4.0.3 is ignored for debugTest as it may be conflicting with the internal version provided by Android. In case of problem, please repackage it with jarjar to change the class packages The Test.testReportDir property has been deprecated and is scheduled to be removed in Gradle 2.0. Please use the Test.getReports().getHtml().getDestination() property instead. :app:compileDebugNdk :app:preBuild :app:preDebugBuild :app:checkDebugManifest :app:prepareDebugDependencies :app:compileDebugAidl :app:compileDebugRenderscript :app:generateDebugBuildConfig :app:mergeDebugAssets :app:generateDebugResValues UP-TO-DATE :app:generateDebugResources :app:mergeDebugResources :app:processDebugManifest :app:processDebugResources :app:generateDebugSources :app:compileDebugJava :app:preDexDebug :app:dexDebug :app:processDebugJavaRes UP-TO-DATE :app:validateDebugSigning :app:packageDebug :app:installDebug 8266 KB/s (46166 bytes in 0.005s) pkg: /data/local/tmp/app-debug-unaligned.apk Success BUILD SUCCESSFUL Total time: 4.291 secs 

    Allerdings, wenn ich versuche, mein Projekt auf einem Gerät oder Emulator aus Android Studio laufen, bekomme ich folgendes:

     Execution failed for task ':app:dexDebug'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: /Applications/Android Studio.app/sdk/build-tools/19.0.1/dx --dex --output /Users/fstephany/Code/android/RoboElectricTestingProject/app/build/dex/debug /Users/fstephany/Code/android/RoboElectricTestingProject/app/build/classes/debug /Users/fstephany/Code/android/RoboElectricTestingProject/app/build/dependency-cache/debug Error Code: 1 Output: Unable to locate a Java Runtime to invoke. 

    Jeder Hinweis auf, wo für dieses Problem zu suchen? Ich kann immer installDebug dann starten Sie die App von CLI oder Studio, aber es ist immer in den Weg.

  • Android Spezielle Benachrichtigung
  • Beste Weg, um eine untere Symbolleiste in Android zu erstellen.
  • Google Kalender API OAuth2 Probleme auf Android Honeycomb
  • So fügen Sie Ansichten dynamisch zu einem RelativLayout hinzu, das bereits im XML-Layout deklariert wurde?
  • Android N Java 8 Features (Jack Compiler) und Kotlin Interop
  • Wo ist android.os.SystemProperties?
  • 4 Solutions collect form web for “Kann kein Java Runtime Android Studio Robolectric finden”

    Ein abgelaufener Gradle-Daemon kann einige Performance-Probleme im Hintergrund verursachen. Ich dachte, Gradle würde es nach 3 Stunden im Leerlauf aufräumen, aber das scheint nicht der Fall zu sein. Gehen Sie zu Ihrem Terminal, gehen Sie zu Ihrem Projekt Root-Ordner, wo die Gradle-Dateien sind, und geben Sie den Befehl

     ./gradlew --stop 

    Und versuch, deinen Build wieder zu rennen. Hoffentlich, das löst dein Problem, wie es mir gehört hat.

    Ich versuche zu verstehen, warum dies ein Problem verursacht hat, aber ich habe noch keinen guten Grund gefunden. Ich werde die Antwort bearbeiten, wenn ich etwas finde.

    AKTUALISIEREN

    Von der Gradle Design Github Seite :

    Derzeit hat der Dämon ernsthafte Probleme, wenn der Gedächtnisdruck auftritt. Wenn unter Druck, der Dämon-Prozess zeigt GC Thrash.

    Eine Hypothese dafür ist die Verwendung von schwachen Referenz-Caches, insbesondere im Groovy-Metaklassensystem, in dem Meta-Class-Instanzen in einem schwachen Referenz-Cache gehalten werden. Beachten Sie, dass dies nicht unbedingt ein Problem mit dem Dämon ist, wie es auch für den Nicht-Dämon-Fall gelten würde. Allerdings wird es durch das Dämon-Leckgedächtnis verschärft, wodurch die Wahrscheinlichkeit erhöht wird, dass eine Gedächtnisdrucksituation auftritt.

    Das gibt keine endgültige Antwort, aber es gibt die Ahnung, dass der Dämon der Schuldige sein kann für das, was du siehst (zusammen mit anderen Dingen). Ich habe gesehen, einige Gradle Aufgaben nehmen 10x so lange wie sie in der Regel tun, und läuft – stoppt diese Probleme auch.

    Für mich, indem ich JAVA_HOME zu deinen JAVA_HOME (Android Studio -> Voreinstellungen -> ./gradlew --stop ) ./gradlew --stop und dann den Gradle-Daemon ./gradlew --stop , wie oben erwähnt ( ./gradlew --stop ) den Trick.

    Auf einem Mac finden Sie Ihr Java-Verzeichnis (Version 6) mit /usr/libexec/java_home -v 1.6

    Rückkehr zu Gradle 1.10 arbeitete für mich (auf OS-X). Sie können die Gradle-Wrapper-Eigenschaften bearbeiten oder eine lokale Graduiertenverteilung in Android-Studio konfigurieren

    Versuchen Sie die Einstellung sourceCompatibility und targetCompatibility in Ihrer build.gradle-Datei. Für Java 1.7 sollte es wie folgt aussehen:

     android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.