webentwicklung-frage-antwort-db.com.de

Die APK-Datei existiert nicht auf der Festplatte

Wenn ich eine Debug-Anwendung auf Android versuche, gibt Studio folgendes Protokoll aus:

Die APK-Datei /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk ist nicht auf der Festplatte vorhanden.

Ich habe Android Studio neu gestartet, kann das Problem jedoch nicht lösen. Wie kann ich das lösen? Danke

220
sorunluadam

Klicken Sie auf diese Option, um den Fehler zu beheben:

Run: View > Tool Windows > Gradle > [project] > Tasks > build > build

460

Wenn dieses Problem nach dem Update auf Android Studio V 3.1 auftritt, versuchen Sie Folgendes.

Ich hatte das gleiche Problem, als ich auf Android Studio 3.1 aktualisiert habe. Alle anderen Lösungen, die ich hier gefunden habe, waren ziemlich manuell, weil man jedes Mal reinigen und neu erstellen muss, das ist überhaupt nicht gut. Aber dank Iman Marashi s Antwort hier konnte ich es lösen.

Gehe zu Ausführen -> Konfigurationen bearbeiten ...

Vergewissern Sie sich, dass im Abschnitt Vor dem Start ein "Gradle-fähiges Make" vorhanden ist:

Run/Debug Configurations

Zum Hinzufügen klicken Sie auf das Zeichen + und wählen Sie Gradle-aware Make und Es erscheint ein Popup, lassen Sie das Textfeld leer und klicken Sie auf OK und OK.

206
Seven

In meinem Fall hat das Ausführen von "Projekt mit Gradle-Dateien synchronisieren" geholfen. Weder der Neustart von Android Studio noch das Löschen des Caches haben etwas bewirkt.

64
Bartek

Wenn Sie nur die Schlussfolgerung wissen möchten, gehen Sie bitte zum letzten Abschnitt. Vielen Dank.

Wenn das Erstellen eines Projekts fehlschlägt, können Sie in der Regel folgende Tricks ausprobieren:

  • Build -> Clean Project
  • Aktivieren Sie Build Variants
  • Neustart Android Studio (wie Sie erwähnt haben)

Um genauer auf Ihr Problem einzugehen: Wenn Android Studio die APK-Datei nicht auf der Festplatte finden konnte. Dies bedeutet, dass Android Studio das Projekt tatsächlich erfolgreich erstellt und auch das APK generiert hat. Aus irgendeinem Grund kann Android Studio die Datei jedoch nicht finden.

Überprüfen Sie in diesem Fall das gedruckte Verzeichnis gemäß Protokoll. Es ist hilfreich.

Zum Beispiel:

Mit Android Studio 2.0 Preview (Build 143.2443734).

  1. Kasse zu einem bestimmten Commit (damit es vom Kopf getrennt wird): git checkout [commit_hash]
  2. Projekt ausführen
  3. Android Studio teilt mit: Die APK-Datei /Users/MyApplicationName/app/build/outputs/apk/app-debug-HEAD.apk existiert nicht auf der Festplatte
  4. Gehen Sie in das Verzeichnis, es gibt eine Datei mit dem Namen: app-debug- (HEAD.apk (mit einer zusätzlichen Klammer)
  5. Führen Sie Git-Zweig

    * (KOPF abgenommen bei 1a2bfff)

Hier konnte man also sehen, aufgrund des Fehlers meines Gradle-Build-Skripts, dass die Benennung der Dateien irgendwie falsch ist.

Das obige Beispiel ist nur ein Szenario, das zum gleichen Problem führen könnte, aber nicht unbedingt die gleiche Ursache haben muss wie das Ihre.

Als Ergebnis empfehle ich Ihnen dringend, überprüfen Sie das Verzeichnis (um den Unterschied zu finden), und überprüfen Sie Ihr build.gradle Skript (Sie können den Apk-Namen dort etwas ändern Wie unten):

applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def newFileName = "whatever you want to name it";
            def apk = output.outputFile;
            output.outputFile = new File(apk.parentFile, newFileName);
        }
    }
33
Jing Li

Stellen Sie sicher, dass Sie nicht Apostroph oder & im Pfad haben

20
Rim Gazzah

Stellen Sie sicher, dass Grading-aware Make in Run/Debugging configuration >> before launch Abschnitt vorhanden ist:

Like this image

19
Iman Marashi

Ich habe in der Regel ein ähnliches Problem erlebt, als ich den Git-Zweig wechselte. Für mich herunterfahren Android Studio rm -rfv ~/Library/Caches/AndroidStudio* und neu starten Android Studio ist das Ticket.

17
user213493

Wählen Sie in Android Studio 3.1.1 Datei | Synchronisieren Sie das Projekt mit Gradle-Dateien.

Wählen Sie in Android Studio 3 Datei | Synchronisieren.

Führen Sie dann Ihr Projekt erneut aus.

13
live-love

Das Jahr ist 2018. Android Studio-Version ist 3.2.0 Alpha3 und wir haben immer noch dieses Problem. Da keiner der oben genannten Punkte bei mir funktioniert hat, sind hier meine 2 Cent:

Jedes Mal, wenn dies passiert, erstelle ich die apk von der Kommandozeile:

gradlew assembleDebug

AKTUALISIEREN

Das Löschen des Ordners .AndroidStudio[version] und das Verlieren all Ihrer Einstellungen und Caches ... scheint das Problem zu lösen

11
Androiderson

In meinem Fall habe ich in meinem App-Dateipfad ein Sonderzeichen verwendet. Ich habe das Android Studio geschlossen und das Zeichen ' aus meinem App-Dateipfad entfernt. Alles hat gut funktioniert, als ich das Projekt wieder aufgenommen habe.

7
Immortal Code

Für Benutzer wie Unix (Linux/MacOs X), anstatt ~/.gradle/caches/in der Befehlszeile zu entfernen:

$ cd path_to_you_project
$ touch build.gradle

Bitten Sie dann Android Studio, APK zu erstellen. Es setzt den Gradle-Cache selbst zurück.

6

Ich habe das Erstellen einer APK mithilfe der Option "Erstellen" im oberen Fenster und der Option "APK erstellen" gelöst. Keine Notwendigkeit, etwas Seltsames zu tun.

6
Mun0n

Mein Problem ist, dass ich die Versionsnummer an die APK angehängt habe. Das Ändern der Versionsnummer und das erneute Synchronisieren von Gradle haben das Problem für mich behoben.

def appendVersionNameVersionCode(variant, defaultConfig) {
    variant.outputs.each { output ->
        if (output.zipAlign) {
            def file = output.outputFile
            def removeApp = file.name.replace("app-", "")
            def removeType = removeApp.replace("-release", "")
            def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
            output.outputFile = new File(file.parent, fileName)
        }

        def file = output.packageApplication.outputFile
        def removeApp = file.name.replace("app-", "")
        def removeType = removeApp.replace("-release", "")
        def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk")
        output.packageApplication.outputFile = new File(file.parent, fileName)
    }
}
5
Lou Morda

Erstelle ---> Erstelle APK (s) und stelle sicher, dass es funktioniert

3
Kadir altınok

Datei -> Cache ungültig machen/neu starten

2
dvrm

Wenn Sie alle oben genannten Antworten ausprobiert haben und es nicht funktioniert hat, deaktivieren Sie die Funktion "Instant Run". Dieser hat mir nach allen Versuchen geholfen.

File -> Settings -> Build, Execution, Deployment -> Instant Run -> Häkchen dort entfernen

2
AnZ

In meinem Fall bestand das Problem darin, dass die Debugging-Konfiguration irgendwie ungültig wurde , auch wenn der Name, die Klasse oder das Paket der Testmethode nicht geändert wurde.

Ich habe die Konfigurationen von Run-> Edit Configurations hier gelöscht:

enter image description here

Android Studio erstellt automatisch eine neue.

2
ByteArtisan

Ich habe auch dieses Problem, nachdem ich den Build gereinigt habe. Für mich war die Lösung, dass ich nur den Gradle synchronisierte und es für mich funktionierte.

2
u_pendra

Das Problem für mich war, dass es irgendwie die apk wirklich nicht finden konnte, während die apk existiert.

The APK file /Users/Paul/AndroidStudioProjects/Android-tv-launcher/ui/build/outputs/apk/nameofapk.apk does not exist on disk.
Error while Installing APK

Alles, was ich tun musste, war mit der rechten Maustaste auf den relativen Pfad für die apk-Kopie zu klicken

adb install -r <paste of relative path>

Und die apk war installiert und gut zu gehen. Dieses Problem ist bei mir unter OSX aufgetreten.

1
Boldijar Paul

wenn Sie Linux verwenden, versuchen Sie, die Schreibberechtigung für den Ordner "app/build" festzulegen.

1

Mein Problem bestand darin, dass der Dateiname Minuten enthielt - es wurde nach appname_debug_0.9.0.1_170214_2216.apk gesucht, als die generierte Datei appname_debug_0.9.0.1_170214_2217.apk lautete, sodass der Ausgabedateicode (von einer anderen Stelle geschnappt) eindeutig von zwei verschiedenen Stellen aufgerufen wurde im Build.

applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def project = "appname"
            def SEP = "_"
    //        def flavor = variant.productFlavors[0].name
            def buildType = variant.variantData.variantConfiguration.buildType.name
            def version = variant.versionName
            def date = new Date();
            def formattedDate = date.format('yyMMdd_HHmm')

            def newApkName = project + SEP + /*flavor + */ SEP + buildType + SEP + version + SEP + formattedDate + ".apk"

            output.outputFile = new File(output.outputFile.parent, newApkName)
        }
    }
1
Ian Spencer

Gelöst im Mai 2018 mit dem neuen Android Studio 3.1. Löschen Sie die Dateien .gradle, .idea und erstellen Sie Verzeichnisse in Ihrem App-Ordner. Versuchen Sie dann, es erneut auszuführen, und der Fehler wird nicht angezeigt.

1
Gerardo Suarez

ich hatte das gleiche Problem. Es lag an einem falschen Namen im Pfad. Der Pfad enthielt ein Sonderzeichen wie das folgende: C:\Benutzer\Meine App\Projekte-Tablet & Handy Ich habe das "&" -Zeichen gelöscht und es hat gut funktioniert.

1
Orientos

Konfrontiert das gleiche Problem mit Gradle 1.5

Ich musste die Build-Dateien bereinigen:

Build -> Projekt bereinigen

Und erstelle eine APK, um die vollständige Kompilierung und Synchronisierung der gradle-Dateien zu erzwingen:

Erstellen -> APK erstellen

Ich weiß immer noch nicht warum oder wie es passiert ist.

1
Simon PA

Stellen Sie sicher, dass in dem in Ihren Protokollen generierten Pfad - in Ihrem Fall:

/Users/MyApplicationName/app/build/outputs/apk/app-debug.apk

ordner "Outputs" hat in der Tat einen "apk" -Ordner.

Das war mein Problem. Wenn es nicht vorhanden ist, müssen Sie die Aufgabe "assembleRelease" in gradle ausführen, indem Sie dem folgenden Screenshot folgen.

Steps to run the gradle assembleRelease task Dann wird der Ordner generiert.

0
Amgad

Ich ändere die build.gradle-Datei in eine kleine Info und klicke auf "Jetzt synchronisieren", nur in Ordnung.

0
凤清云

Ich habe all diese Dinge ausprobiert und keines hat funktioniert. Letztendlich musste ich ein paar dieser Dinge gleichzeitig erledigen. Sehr frustrierend, dass es so lange gedauert hat.

Das Problem, das ich hatte, hing mit der Ausführung meiner Komponententests nach dem Upgrade auf AS 3.1 zusammen.

Folgendes habe ich getan ... 1.) Konfigurationen ausführen/bearbeiten/Tests auswählen .... 2.) Optionen zu "Gradle-fähig machen" hinzufügen 3.) Kontrollkästchen "Installation überspringen, wenn sich ADK nicht geändert hat" aktivieren Verschiedenes Tab

Viel Glück.

0
Rob Breidecker

Gehen Sie zur Build-Option in der oberen Leiste von Android studio> und erstellen Sie 'Build APK (s)'. Öffnen Sie nach dem Erstellen des Builds den Ordner, in dem er verfügbar ist (app\build\output\apk) und schließen Sie ihn den Ordner, das ist alles .... dann versuchen Sie, die App zu installieren.

0
BISHWAJEET

ich habe diese App gelöst, indem ich

  1. Erster Build -> Build Apk (s)
  2. Führen Sie die App jetzt aus

wenn es nicht geklappt hat mache Clean und erstelle das Projekt und dann wieder 1 & 2.

0
saigopi

Mit Android Studio 2.2.1 habe ich in der Dropdown-Liste oben auf Extras> Android auf die Option Projekt mit Gradle-Dateien synchronisieren geklickt

Ähnlich wie bei einer Antwort oben finden Sie unten einen Screenshot, wie Sie zu dieser Option gelangen.

enter image description here

0
Lee Brindley

ändern Sie die Datei: build.gradle (App-Verzeichnis). in der Tat: Sie sollten diese Datei nicht ändern, nur um Synchronisierungstipps zu erhalten, dann Projekt synchronisieren.

0
兰坡阳

Nichts oben hat mir geholfen, aber ich habe das herausgefunden, indem ich im Bedienfeld „Build Tools“ zu einer anderen Version gewechselt und dann wieder zu der benötigten Version gewechselt habe.

0

Behebung dieses Problems durch Aktualisierung der Android SDK-Build-Tools.

Die Schaltfläche heißt "Projekt mit Gradle-Dateien synchronisieren" und sieht ähnlich aus: Gradle Sync ... muss beim Aktualisieren der Versionsnummer immer angeklickt werden, was zu einem anderen APK-Dateinamen führt (sofern sich der Dateiname nicht geändert hat, funktioniert die Installation des Pakets immer, was darauf hindeutet, dass der Dateiname zwischengespeichert wird) . Die entsprechende Gradle-CLI-Option scheint --recompile-scripts zu sein.

@siehe Anhang D. Gradle-Befehlszeile .

0
Martin Zeitler

in meinem Fall nur

Ansicht> Werkzeugfenster> Gradle> Rechtsklick auf [Projekt]> Gradle-Projekt aktualisieren

0
Jenkyn

Entfernen Sie zuerst den Cleaner, indem Sie die Konfiguration bearbeiten. Möglicherweise wird der Build nach dem Erstellen des Apk bereinigt.

Click on edit from set run/debug then click on gradle list select the clean project item and then click on -(top 2nd from left).
0
Sonu Kumar

Entfernen Sie das Verzeichnis ~/.gradle/caches /. Dies ist in Ordnung, während Android Studio geöffnet ist. (Weitere Informationen finden Sie unter Installieren eines falschen Paketnamens.) Klicken Sie auf das Symbol "Projekt mit Gradle-Dateien synchronisieren" in Android Studio. Führen Sie das Projekt aus, und der Remote-Pfad wird korrekt sein.

Siehe Antwort @ Android Studio erhält einen falschen Paketnamen, wenn .apk ausgeführt wird

0
mask
    1) This problem occure due to apk file .if your apk file
        (output/apk/debug.apk) not generated in this format . 

    2) you should use always in gradle file .

    buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
            }
        }
0
priti

Ich habe es zum Arbeiten gebracht von:

  1. Projekt schließen
  2. Klicken Sie im Android Studio-Begrüßungsfenster (oder unter Datei> Neu) auf Projekt importieren.

Ich denke, das hat es gezwungen, das APK neu zu installieren, und jetzt läuft alles gut.

0
Viren Mody