0

Je crée un plugin cordova pour télécharger des fichiers d'extension. Actuellement, j'implémente que les fichiers d'extension seront téléchargés manuellement.Exception de fichier introuvable lors du téléchargement du fichier d'extension android

La demande sera envoyé, mais je reçois l'erreur

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) 

En fait, ma principale version expansion actuelle est 1000013. Mais il recherche 1000004. Le contenu est le même, il est donc pas le problème.

Les droits devraient être disponibles

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

Toute idée pourquoi cela pourrait se produire?

Répondre

2

Je crois que cela se produit parce que la console Google Play n'a pas un fichier d'extension correct associé à votre code de version actuel. Assurez-vous que vous avez téléchargé et sélectionné un fichier d'extension correct avec votre fichier APK dans Play Console.

Si cela ne vous aide pas, vérifiez si votre stockage externe peut être monté en appelant Helpers.isExternalMediaMounted(). Votre appareil ne possède peut-être pas de carte SD (émulateur?). En outre, vous pouvez vérifier si votre application a accès au répertoire OBB en appelant le Helpers.canWriteOBBFile(Context).

Je recommande d'utiliser la bibliothèque de téléchargement mise à jour incluse dans le package Better APK Expansion. Il a plusieurs problèmes résolus et fournit également une API simplifiée qui minimise les chances de vous tirer dans le pied.