2016-05-24 21 views
1

Ich erstelle eine App und es funktioniert auf Emulator. Es funktioniert auf Debug-Apk auf dem Gerät, aber wenn ich es mit generierten signierten App erstellen, funktioniert es nicht? Was ist falsch und wie kann ich es auf dem Gerät auf signierten Sate debuggen?Android App funktioniert nicht nach der Veröffentlichung von signierten App

+0

Sie sind ProGuard? Check -dontwarnt. –

+0

Ja ich benutze ProGuard. Was ist -dontwarnt? –

+0

siehe diese Seite http://StackOverflow.com/Questions/21123835/how-to-use-dontwarn-in-proguard –

Antwort

1

In meinem Projekt läuft keine signierte App. Ich habe den Wert von minifyEnabled von "true" auf "false" geändert und dann das Problem gelöst. diese schlechte Lösung. Ich suche nach einem besseren Weg.

build.gradle:

buildTypes { 
     release { 
      shrinkResources true 
      minifyEnabled false //true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
     debug { 
      debuggable true 
     } 
    } 
+0

Nach dem Deaktivieren MinifyEnabled funktioniert es richtig, aber ich brauche es in meinem Projekt –

0

I Progard hat Problem mit Retrofit INTERFCE

Beispiel der Schnittstelle gefunden:

import java.util.List; 

import retrofit2.Call; 
import retrofit2.http.GET; 
import retrofit2.http.Path; 


public interface AClient { 
    // For register device for specific package 
    @GET("/api/initiate/{packageId}") 
    Call<InitiateModel> GetInitiateInfo(
      @Path("packageId") int packageId 
    ); 
    } 

ich hinzufügen -dontwarn retrofit2 ** in Progard-Datei.. Was ist los?

1

Ich habe das Problem gefunden und es gelöst. Ich muss Modelle Verschleierung halten, die Retrofit verwenden. Nach der Verwendung unter Code funktioniert meine App ordnungsgemäß in minifyEnabled aktiviert:

-halten com.xxx.xxx.models. ** {*; }

Nachrüstung müssen Klasseneigenschaften zum Füllen von Werten kennen.

Danke jeder Körper versuchen, mir zu helfen.