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:

  • Logcat in Eclipse hält Auto Clearing
  • Wie funktioniert Android Support Library?
  • Android-Programmierung - Erstellen eines URI, um Audio-Location zu erhalten
  • So ändern Sie die Textauswahl Symbolleiste Farbe, die kommt, wenn wir einen Text kopieren?
  • Android 4.3 BTLE als Server: Wie bekomme ich Anzeigen?
  • Apk manuell auf Gerät installieren: Fehler 103
  • 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 getActionBar vs getSupportActionBar?
  • Tutorials oder Einführungen zum Schreiben einer einfachen Skriptsprache?
  • Wie kann ich System-Icons in meiner Android-App verwenden?
  • Ist ein "Tag" der Ansicht, das wiederhergestellt wird, wenn die Aktivität, deren Layout die Ansicht enthält, neu erstellt wird?
  • Statistiken von Google Play Developers mit einer API abrufen
  • Welche JDK-Version (Language Level) ist für Android Studio erforderlich?
  • 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.