2016-05-24 5 views
1

Я создаю приложение, и оно работает на эмуляторе. Он работает на debug apk на устройстве, но когда я его создаю с помощью сгенерированного подписанного приложения, он не работает? Что не так, и как я могу его отладить на устройстве на подписанном языке?Приложение для Android не работает после опубликования его, сгенерировав подписанное приложение

+0

Вы используете ProGuard? Проверьте -dontwarns. –

+0

Да, я использую ProGuard. Что такое -dontwarns? –

+0

см. Эту страницу http://stackoverflow.com/questions/21123835/how-to-use-dontwarn-in-proguard –

ответ

1

В моем проекте не запускается подписанное приложение. Я изменил значение minifyEnabled с true на false, тогда проблема решена. это плохое решение. Я ищу лучший способ.

build.gradle:

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

После отключения minifyEnabled он работает правильно, но мне это нужно в моем проекте –

0

Я нашел progard имеет проблемы с модифицированной interfce

Образец интерфейса:

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 ** в progard файле.. Что не так?

1

Я нашел проблему и решил ее. Я должен держать модели в запутывании, которые используют модификацию. После использования ниже кода мое приложение корректно работает в minifyEnabled:

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

Для изменения свойств необходимо модифицировать свойства класса.

Спасибо, что каждое тело попытается мне помочь.

 Смежные вопросы

  • Нет связанных вопросов^_^