No se puede instalar la versión de depuración y de liberación en el mismo dispositivo
He configurado variantes de construcción en mi proyecto con applicationIdSuffix
para que pueda instalar versiones de depuración y versión en mi dispositivo. Aquí está mi build.gradle
(partes relevantes):
buildTypes { debug { buildConfigField "String", "BASE_URL", '"http://dev.xyz.com"' applicationIdSuffix ".debug" } release { buildConfigField "String", "BASE_URL", '"http://api.xyz.com"' minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
Pero cuando intento instalar ambos, falla. He intentado diferentes maneras:
- Gradle: ¿Cómo puedo incluir un jar local de un proyecto de java dependiente en una compilación de Android?
- Cambiar nombre de archivo apk en gradle
- La tarea gradle 'installDebug' de Android dejó de funcionar después de la actualización
- Gradlew build freezing en mergeDebugResources
- Método Gradle DSL no encontrado: 'multiDexEnabled ()'
1. Generado tanto depuración y liberación de apks y transferidos a mi almacenamiento de teléfono. El primero se instala, y el segundo da un error "App no instalado" – sin más información. Esto es lo mismo sin importar la versión que instalo primero.
2. Versión de depuración instalada del almacenaje, después intentó instalar la versión de lanzamiento de la tienda del juego, pero la tienda del juego da error:
No puedo instalar el código de error de la aplicación: -505.
3. Versión de lanzamiento instalada de la tienda, y luego intentó ejecutar el proyecto de android studio, y este es mi registro de 'ejecución':
Launching app $ adb push D:\myPROJECTS\MyApp\app\build\outputs\apk\app-debug.apk /data/local/tmp/com.example.myapp.debug $ adb shell pm install -r "/data/local/tmp/com.example.myapp.debug" java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String android.os.SystemProperties.native_get(java.lang.String) (tried Java_android_os_SystemProperties_native_1get and Java_android_os_SystemProperties_native_1get__Ljava_lang_String_2) at android.os.SystemProperties.native_get(Native Method) at android.os.SystemProperties.get(SystemProperties.java:52) at android.os.Environment$UserEnvironment.<init>(Environment.java:123) at android.os.Environment.initForCurrentUser(Environment.java:98) at android.os.Environment.<clinit>(Environment.java:92) at android.os.Environment.getLegacyExternalStorageDirectory(Environment.java:597) at android.os.Debug.<clinit>(Debug.java:103) at android.ddm.DdmHandleHello.handleHELO(DdmHandleHello.java:164) at android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.java:91) at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171) java.lang.UnsatisfiedLinkError: android.os.Debug at android.ddm.DdmHandleHello.handleFEAT(DdmHandleHello.java:176) at android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.java:93) at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171) java.lang.UnsatisfiedLinkError: android.os.Debug at android.ddm.DdmHandleProfiling.handleMPRQ(DdmHandleProfiling.java:187) at android.ddm.DdmHandleProfiling.handleChunk(DdmHandleProfiling.java:88) at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171) Aborted $ adb shell am start -n "com.example.myapp.debug/com.example.myapp.LoginActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Error while executing: am start -n "com.example.myapp.debug/com.example.myapp.LoginActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.myapp.debug/com.example.myapp.LoginActivity } Error type 3 Error: Activity class {com.example.myapp.debug/com.example.myapp.LoginActivity} does not exist. Error while Launching activity
Cualquier idea de lo que está pasando?
Actualización : no sé si ayuda, pero aquí es cómo declaré mi actividad de lanzador en androidmanifest.xml
:
<activity android:name=".LoginActivity" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@style/AppTheme.Launcher"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
- Excepción al hacer copia de seguridad de iteración anterior: Origen
- ClassCastException: NoClassDefFoundError no se puede transmitir a RuntimeException
- RxJavaPlugins Error No encontró la clase "com.google.devtools.build.android.desugar.runtime.ThrowableExtension"
- ¿Qué es dex en Gradle?
- Error de secuencia de comandos de compilación, método DSL de Gradle sin soporte encontrado: 'release ()'!
- Cómo disminuir React-Native Android tamaño de la aplicación
- ¿Existe una forma segura de administrar las claves API?
- Java.io.IOException: com.android.jack.api.v01.CompilationException: Error al compilar
De acuerdo, me di cuenta de lo que estaba pasando.
En realidad, estaba creando un apk no firmado para la variante de depuración ( Build> Build APK ). Pero tuve que usar ( Build> Generate Signed APK ) y luego seleccionar la variante de depuración de las opciones.
Además, al ejecutar el proyecto en mi dispositivo, gradle estaría generando un apk sin firmar. Así que tampoco funcionaría. Eso es – a menos que configure SigningConfigs
como se explica en esta respuesta .
En lugar de utilizar tipos de construcción, ¿por qué no utilizar los sabores del producto en su lugar? Aquí hay un enlace a la documentación sobre cómo hacer esto, así como lo que está intentando hacer. Espero que esto ayude.
- ListViews con múltiples diseños de elementos
- Phonegap / HTML5 y la pantalla de Android redimensionan el problema en rotación de paisaje a retrato