0

Ich erstelle ein Cordova-Plugin zum Download von Erweiterungsdateien. Derzeit implementiere ich, dass die Erweiterungsdateien manuell heruntergeladen werden.Datei nicht gefunden Ausnahme beim Herunterladen von Android-Erweiterungsdatei

Die Anfrage wird zu senden, aber ich habe den Fehler

aborting request for download main.1000004.my.name.app.obb: while writing destination file: java.io.FileNotFoundException: /storage/emulated/0/Android/obb/my.name.app/main.1000004.my.name.app.obb.tmp: open failed: ENOENT (No such file or directory) 
02-20 17:12:12.930 15355-15631/my.name.app W/System.err: com.google.android.vending.expansion.downloader.impl.DownloadThread$StopRequest: while writing destination file: java.io.FileNotFoundException: /storage/emulated/0/Android/obb/my.name.app/main.1000004.my.name.app.obb.tmp: open failed: ENOENT (No such file or directory) 
W/System.err:  at com.google.android.vending.expansion.downloader.impl.DownloadThread.writeDataToDestination(DownloadThread.java:515) 
W/System.err:  at com.google.android.vending.expansion.downloader.impl.DownloadThread.transferData(DownloadThread.java:350) 
W/System.err:  at com.google.android.vending.expansion.downloader.impl.DownloadThread.executeDownload(DownloadThread.java:308) 
W/System.err:  at com.google.android.vending.expansion.downloader.impl.DownloadThread.run(DownloadThread.java:236) 
W/System.err:  at com.google.android.vending.expansion.downloader.impl.DownloaderService.onHandleIntent(DownloaderService.java:1086) 
W/System.err:  at com.google.android.vending.expansion.downloader.impl.CustomIntentService$ServiceHandler.handleMessage(CustomIntentService.java:104) 
W/System.err:  at android.os.Handler.dispatchMessage(Handler.java:102) 
W/System.err:  at android.os.Looper.loop(Looper.java:148) 
W/System.err:  at android.os.HandlerThread.run(HandlerThread.java:61) 
W/System.err: Caused by: java.io.FileNotFoundException: /storage/emulated/0/Android/obb/my.name.app/main.1000004.my.name.app.obb.tmp: open failed: ENOENT (No such file or directory) 
W/System.err:  at libcore.io.IoBridge.open(IoBridge.java:452) 
W/System.err:  at java.io.FileOutputStream.<init>(FileOutputStream.java:87) 
W/System.err:  at java.io.FileOutputStream.<init>(FileOutputStream.java:127) 
W/System.err:  at com.google.android.vending.expansion.downloader.impl.DownloadThread.writeDataToDestination(DownloadThread.java:496) 
W/System.err: ... 8 more 
W/System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 
W/System.err:  at libcore.io.Posix.open(Native Method) 
W/System.err:  at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186) 
0W/System.err: at libcore.io.IoBridge.open(IoBridge.java:438) 

Eigentlich meine aktuelle Hauptexpansions Version 1000013. ist, aber es sucht nach 1000004. Der Inhalt ist das gleiche, es ist also nicht das Problem.

Die Rechte sollten

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

Jede Idee, warum dies passieren könnte, zur Verfügung stehen?

Antwort

2

Ich glaube, dass dies passiert, weil die Google Play Console keine korrekte Erweiterungsdatei mit Ihrem aktuellen Versionscode verknüpft hat. Vergewissern Sie sich, dass Sie eine korrekte Erweiterungsdatei zusammen mit Ihrem APK in Play Console hochgeladen und ausgewählt haben.

Wenn es nicht hilft, überprüfen Sie, ob Ihr externer Speicher durch Aufruf von Helpers.isExternalMediaMounted() eingehängt werden kann. Ihr Gerät hat möglicherweise keine SD-Karte (Emulator?). Darüber hinaus möchten Sie möglicherweise überprüfen, ob Ihre App Zugriff auf das OBB-Verzeichnis hat, indem Sie Helpers.canWriteOBBFile(Context) aufrufen.

Ich empfehle die Verwendung der aktualisierten Downloader-Bibliothek, die im Paket Better APK Expansion enthalten ist. Es hat mehrere Probleme behoben und bietet auch eine vereinfachte API, die die Chancen minimiert, sich in den Fuß zu schießen.

Verwandte Themen