La aplicación para Android de Xamarin se cierra inmediatamente después del lanzamiento
Estoy usando Xamarin en Visual Studio.
He creado una aplicación android clásica (haga clic en mí) y he intentado lo siguiente:
- Emulador de Android no se ejecuta - Visual Studio 2017
- Línea azul claro sobre mi barra de navegación en la aplicación de Android
- BroadcastReceiver no recibe transmisión
- Cómo cambiar el tamaño de la altura de la fila ListView de Android
- Xamarin forma la posición de los elementos de la barra de herramientas para Android
Escenario 1:
-
Cambiar al modo de liberación
-
Haga clic derecho en el proyecto> Exportar Paquete de Android (.apk)
-
Lado cargado generado .apk it en mi teléfono
-
La aplicación se inicia sin problema
Escenario 2
-
Cambiar al modo de liberación
-
Herramientas> Android> Publicar aplicación para Android
-
Firmado APK después de crear un almacén de claves privadas
-
Carga lateral generada .apk (en la carpeta de liberación) en el teléfono
-
La aplicación se cierra inmediatamente después del lanzamiento (sin mensaje de error, nada)
¿Cuál podría ser el problema aquí?
¿Necesito hacer otra cosa después de firmar el paquete?
En ambos escenarios, la salida apk es del mismo tamaño 5227kb
ACTUALIZAR:
He intentado la misma cosa que funciona en el emulador del androide. Mismos resultados. La aplicación se ejecuta correctamente en modo de depuración en el emulador. Una vez que lo haya cambiado a la liberación, consigo "Desafortunadamente, App1 ha parado"
Aquí está el registro de errores http://pastebin.com/4j1Vwtgf
ACTUALIZACIÓN 2:
Estos son los registros cuando implemento en modo de lanzamiento:
1>Starting deploy 5" KitKat (4.4) XXHDPI Phone ... 1>Deploying 5" KitKat (4.4) XXHDPI Phone ... 1>Build started. 1>C:\Program Files (x86)\MSBuild\14.0\bin\csc.exe /noconfig /nowarn:1701,1702,2008 /nostdlib+ /errorreport:prompt /warn:4 /define:TRACE;__XAMARIN_ANDROID_v1_0__;__MOBILE__;__ANDROID__;__ANDROID_1__;__ANDROID_2__;__ANDROID_3__;__ANDROID_4__;__ANDROID_5__;__ANDROID_6__;__ANDROID_7__;__ANDROID_8__;__ANDROID_9__;__ANDROID_10__;__ANDROID_11__;__ANDROID_12__;__ANDROID_13__;__ANDROID_14__;__ANDROID_15__;__ANDROID_16__;__ANDROID_17__;__ANDROID_18__;__ANDROID_19__;__ANDROID_20__;__ANDROID_21__;__ANDROID_22__;__ANDROID_23__ /errorendlocation /preferreduilang:en-US /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v6.0\Mono.Android.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.Linq.dll" /debug:pdbonly /filealign:512 /optimize+ /out:obj\Release\App1.dll /ruleset:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\\Rule Sets\MinimumRecommendedRules.ruleset" /target:library /utf8output MainActivity.cs Resources\Resource.Designer.cs Properties\AssemblyInfo.cs "C:\Users\a\AppData\Local\Temp\MonoAndroid,Version=v6.0.AssemblyAttributes.cs" obj\Release\\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs obj\Release\\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs obj\Release\\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs 1>App1 -> C:\Users\a\Documents\Visual Studio 2015\Projects\App1\App1\bin\Release\App1.dll 1> Processing: obj\Release\res\layout\main.xml 1> Processing: obj\Release\res\values\strings.xml 1>C:\Program Files (x86)\Java\jdk1.7.0_55\\bin\keytool.exe -list -alias androiddebugkey -storepass android -keypass android -keystore "C:\Users\al\AppData\Local\Xamarin\Mono for Android\debug.keystore" 1>C:\Program Files (x86)\Java\jdk1.7.0_55\\bin\jarsigner.exe -keystore "C:\Users\a\AppData\Local\Xamarin\Mono for Android\debug.keystore" -storepass android -keypass android -digestalg SHA1 -sigalg md5withRSA -signedjar bin\Release\\App1.App1-Signed-Unaligned.apk "C:\Users\a\Documents\Visual Studio 2015\Projects\App1\App1\obj\Release\android\bin\App1.App1.apk" androiddebugkey 1>No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2046-02-20) or after any future revocation date. 1>C:\Program Files (x86)\Android\android-sdk\build-tools\23.0.1\zipalign.exe 4 "C:\Users\a\Documents\Visual Studio 2015\Projects\App1\App1\bin\Release\App1.App1-Signed-Unaligned.apk" "bin\Release\\App1.App1-Signed.apk" 1>Build succeeded. 1>Deploy successfully on 5" KitKat (4.4) XXHDPI Phone
Y aquí están los registros de compilación para el modo de depuración
2>Starting deploy 5" KitKat (4.4) XXHDPI Phone ... 2>Deploying 5" KitKat (4.4) XXHDPI Phone ... 2>Build started. 2>C:\Program Files (x86)\Java\jdk1.7.0_55\\bin\keytool.exe -list -alias androiddebugkey -storepass android -keypass android -keystore "C:\Users\a\AppData\Local\Xamarin\Mono for Android\debug.keystore" 2>C:\Program Files (x86)\Java\jdk1.7.0_55\\bin\jarsigner.exe -keystore "C:\Users\a\AppData\Local\Xamarin\Mono for Android\debug.keystore" -storepass android -keypass android -digestalg SHA1 -sigalg md5withRSA -signedjar bin\Debug\\App1.App1-Signed-Unaligned.apk "C:\Users\a\Documents\Visual Studio 2015\Projects\App1\App1\obj\Debug\android\bin\App1.App1.apk" androiddebugkey 2>No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2046-02-20) or after any future revocation date. 2>C:\Program Files (x86)\Android\android-sdk\build-tools\23.0.1\zipalign.exe 4 "C:\Users\a\Documents\Visual Studio 2015\Projects\App1\App1\bin\Debug\App1.App1-Signed-Unaligned.apk" "bin\Debug\\App1.App1-Signed.apk" 2>Build succeeded. 2>Deploy successfully on 5" KitKat (4.4) XXHDPI Phone
- Error al utilizar la Biblioteca de asistencia de Android v4
- Reproducir varias canciones con MediaPlayer al mismo tiempo: solo una está jugando
- El emulador de Genymotion no se iniciará. Se queda para siempre en la pantalla "black and white"
- Xamarin Android Support Library v4 (Incompleto)?
- No se puede usar el diseño de ScrollView dentro de SlidingUpPanelLayout Xamarin Android
- Xamarin Android Añadir texto del botón todos los casquetes - ¿Cómo aplicar el estilo a través de la aplicación?
- Convertir automáticamente el código entre Xamarin iOS y Xamarin Android
- Reproducir video en Android usando Xamarin
Dentro de los registros de pastebin, parece que tienes un error específico aquí. Parece que libmonodroid.so
no se está cargando aquí.
03-25 00:40:18.531 E/AndroidRuntime( 1407): java.lang.UnsatisfiedLinkError: Couldn't load monodroid from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/App1.App1-1.apk"],nativeLibraryDirectories=[/data/app-lib/App1.App1-1, /system/lib]]]: findLibrary returned null
Este problema generalmente significa que por alguna razón libmonodroid.so no se está instalando.
Recomendaría los siguientes artículos:
-
adb uninstall <package name>
para eliminar completamente cualquier aplicación antigua App1.App1. - Limpiar / reconstruir su proyecto (Asegúrese también de eliminar manualmente las carpetas
bin/obj
en su solución.
Si esto sigue siendo un problema. Asegúrese de que un archivo-> Nuevo proyecto Android se depure y también se instalará correctamente como una versión .apk. También debe reunir adb logcat
de sus intentos una vez que siga los pasos # 1-2.
Tuve un problema similar con una aplicación básica cuando empecé con Xamarin. El problema era con el archivo apk que estaba usando. Lo escogí de mi bin / carpeta de liberación mientras que la ruta para la aplicación real firmada + publicada + zip-alineada estaba en el nivel de carpeta de proyecto fuera del directorio bin.
El archivo signed.apk en el modo Release utiliza el depurador keystore y por lo tanto no es posible publicarlo, más información aquí .
Era una falta bastante tonta de mí, así que en caso de que alguien más también tiene este problema por favor asegúrese de que está recogiendo el archivo apk derecho antes de buceo en la depuración adicional.
Tuve el mismo error ejecutando compilaciones de liberación en el emulador (VS Android emulador). Resulta que habíamos deshabilitado x86 como arquitectura soportada.
- No se puede mostrar la imagen de datos de contacto en la brecha telefónica
- La autenticación mutua de SSL FAIL en Android Client acepta el certificado de servidores pero el servidor no obtiene el certificado de cliente