2016-05-24 28 views
1

私はアプリを作成してエミュレータで動作します。それはデバイス上のデバッグAPKで動作しますが、署名されたアプリケーションを生成すると動作しません。 何が問題なのですか?署名された状態のデバイスでデバッグする方法はありますか?公開アプリを作成した後にAndroidアプリが動作しない

+0

あなたはProGuardを使用していますか?チェックしないでください。 –

+0

はい私はProGuardを使用します。 -dontwarnsとは何ですか? –

+0

このページを参照してください。http://stackoverflow.com/questions/21123835/how-to-use-dontwarn-in-proguard –

答えて

1

私のプロジェクトでは、署名されたアプリケーションは実行されません。私はminifyEnabledの値をtrueからfalseに変更して問題を解決しました。この悪い解決策。私はより良い方法を探しています。

build.gradle:

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 
    ); 
    } 

私は-dontwarnのretrofit2を追加**プロガードファイルで:。私はプロガードを見つけ

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

minifyEnabledを無効にした後、正常に動作しますが、私は自分のプロジェクトでそれを必要とします –

0

は、インタフェースの

サンプルinterfce改造に問題があります。 どうしたのですか?

1

問題を見つけて解決しました。 改造を使用するモデルを難読化しておく必要があります。以下のコードを使用した後、私のアプリケーションはminifyEnabledで正しく動作します。

-keep com.xxx.xxx.models。** {*; }

値で塗りつぶすためのクラスプロパティを知る必要があります。

ありがとうございました。

関連する問題