Xamarin Android: System.IO.Compression.ZipFile.ExtractToDirectory Error en el modo de liberación
Todo funciona bien en modo de depuración, pero cuando lo ejecutamos en el lanzamiento de la llamada ExtractToDirectory falla.
Aquí está la función de referencia. Sólo para asegurarnos de que no estamos haciendo nada raro.
- Detectar la desconexión del SPP bluetooth sin usar paquetes
- Visual Studio no reconoce la función BindingInflate de MvxFragment
- Error al compilar el proyecto
- SQLite.SQLiteException lanzado en Xamarin.Android al intentar crear una tabla
- SetColorFilter no funciona en Xamarin.Android
private bool UnzipFiles() { bool toReturn = true; try { UpdateStatus("Almost done..."); string file = Path.Combine (DownloadFolder, "ZipFile.zip"); if(System.IO.Directory.Exists(UnzippingDestinationFolder)) { System.IO.Directory.Delete(UnzippingDestinationFolder, recursive:true); } System.IO.Compression.ZipFile.ExtractToDirectory(file, UnzippingDestinationFolder); UpdateStatus("Finished!"); var files = System.IO.Directory.GetFiles(UnzippingDestinationFolder); int m = 3; } catch (Exception e) { toReturn = false; }
Finalmente, aquí está la excepción que tenemos.
System.NullReferenceException: Object reference not set to an instance of an object at SharpCompress.Common.Zip.Headers.ZipFileEntry.DecodeString (System.Byte[] str) [0x00000] in <filename unknown>:0 at SharpCompress.Common.Zip.Headers.DirectoryEntryHeader.Read (System.IO.BinaryReader reader) [0x00000] in <filename unknown>:0 at SharpCompress.Common.Zip.ZipHeaderFactory.ReadHeader (UInt32 headerBytes, System.IO.BinaryReader reader) [0x00000] in <filename unknown>:0 at SharpCompress.Common.Zip.SeekableZipHeaderFactory+<ReadSeekableHeader>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0 at SharpCompress.Archive.Zip.ZipArchive+<LoadEntries>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0 at SharpCompress.LazyReadOnlyCollection`1+LazyLoader[SharpCompress.Archive.Zip.ZipArchiveEntry].MoveNext () [0x00000] in <filename unknown>:0 at System.IO.Compression.ZipArchive.CreateZip (System.IO.Stream stream, ZipArchiveMode mode) [0x00000] in <filename unknown>:0 at System.IO.Compression.ZipArchive..ctor (System.IO.Stream stream, ZipArchiveMode mode, Boolean leaveOpen, System.Text.Encoding entryNameEncoding) [0x00000] in <filename unknown>:0 at System.IO.Compression.ZipFile.Open (System.String archiveFileName, ZipArchiveMode mode, System.Text.Encoding entryNameEncoding) [0x00000] in <filename unknown>:0 at System.IO.Compression.ZipFile.ExtractToDirectory (System.String sourceArchiveFileName, System.String destinationDirectoryName, System.Text.Encoding entryNameEncoding) [0x00000] in <filename unknown>:0 at System.IO.Compression.ZipFile.ExtractToDirectory (System.String sourceArchiveFileName, System.String destinationDirectoryName) [0x00000] in <filename unknown>:0 at NewBaron.Screens.DownloadContentScreen.UnzipFiles () [0x00000] in <filename unknown>:0
- Mejor opción para la suscripción de eventos
- Serialización de objetos para una nueva actividad
- En android SetText sólo toma resId
- Error: JNI ERROR (bug de la aplicación): se accede a la referencia global obsoleta
- MasterDetailPage La página maestra no se abrirá con IsGestureEnabled configurada como falsa Xamarin.Forms Android
- El dispositivo Android BLE se desconecta después de poco tiempo, el código de error 8
- ¿Cómo uso SharedPreferences en Xamarin.Android?
- No puedo almacenar en caché las imágenes mientras que bindind la imagen usando MvvmCross
Un ligero cambio en la solución de Victor. No vincular los SDK generó un apk que fue 53MBs. Demasiado grande para el límite de tamaño apk de la tienda de juegos.
Establecer el comportamiento de enlace para vincular ensamblados de SDK sólo y que llevó el tamaño apk a 29MBs
Aquí está la ventana actualizada.
@ Mattewrobbinsdev sugerencia fue exactamente eso. Para los futuros lectores, aquí está el diálogo en Xamarin Studio:
- Límite de búsqueda Android SearchRecentSuggestionsProvider
- AndroidRuntimeException: requestFeature () debe ser llamado antes de agregar contenido en DialogFragment