Kann keine Debug- und Release-Version auf demselben Gerät installieren

Ich habe Build-Varianten in meinem Projekt mit applicationIdSuffix konfiguriert, damit ich sowohl Debug- als auch Release-Versionen auf meinem Gerät installieren kann. hier ist mein build.gradle (relevante Teile):

  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' } } 

Aber wenn ich versuche, beide zu installieren, scheitert es. Ich habe verschiedene Möglichkeiten ausprobiert:

1. Erstellt sowohl Debug-und Release-Apks und übertrug sie auf meine Telefon-Speicher. Die erste installiert, und die zweite gibt einen Fehler "App nicht installiert" – keine weitere Info. Dies ist egal welche Version ich zuerst installieren.

2. Installierte Debug-Version aus dem Speicher, dann versucht, Release-Version von Play Store installieren, aber Play Store gibt Fehler:

cant install app Fehlercode: -505.

3. Installierte Release-Version aus dem Laden, und dann versucht, das Projekt aus Android-Studio, und das ist mein 'run' log:

  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 

irgendeine Idee was ist los?

Update : weiß nicht, ob es hilft, aber hier ist, wie ich meine Launcher-Aktivität in androidmanifest.xml erklärte:

 <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> 

  • Android-Studio - Fehler beim Abschließen der Gradle-Ausführung - Fehler beim Öffnen der Zip-Datei
  • Gradle beendet mit Nicht-Null-Ausgangswert 3
  • Gemeinsamer Code für verschiedene androide Aromen
  • Gradle scheitert mit "Ambiguous Methode Überladung für Methode java.io.File # <init>"
  • Gradle schließt arm64 libs aus
  • Fehler: Ausführung fehlgeschlagen für Task ': app: transformClassesWithDexForDebug'
  • Android Studio Gradle androidTest vs instrumentTest
  • Android-Tests erstellen Fehler: Mehrere Dex-Dateien definieren Landroid / support / test / BuildConfig
  • 2 Solutions collect form web for “Kann keine Debug- und Release-Version auf demselben Gerät installieren”

    Okay, ich habe herausgefunden, was los war.

    Ich habe eigentlich eine unsigned apk für die Debug-Variante ( Build> Build APK ) erstellt. Aber ich musste ( Build> Generate Signed APK ) verwenden und dann die Debug-Variante aus den Optionen auswählen.

    Bildbeschreibung hier eingeben

    Auch beim Ausführen des Projekts auf meinem Gerät würde gradle einen unsignierten apk erzeugen. So würde das auch nicht funktionieren. Das ist – es sei denn, ich konfiguriere SigningConfigs wie in dieser Antwort erklärt .

    Statt der Verwendung von Build-Typen, warum nicht verwenden Produkt Aromen statt? Hier ist ein Link zu der Dokumentation, wie dies zu tun, sowie was Sie derzeit versuchen zu tun. Hoffe das hilft.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.