0

У меня странная проблема при создании подписанного APK с включенным Pro-Guard. Я показываю просмотр списка с некоторыми элементами с сервера с цветным текстом как черный. В отладочном выпуске отображается представление списка с данными без каких-либо проблем. Но в режиме выпуска вид списка, показывающий данные с прозрачным цветом, цвет текста, я использую черный цвет и устанавливаю цвет в классе адаптера списка, потому что в режиме выпуска я могу щелкнуть по списку и выбрать элемент списка, но элемент в списке вид не отображается.Android Obfuscated Проблемы APK

enter image description here

выше изображение находится в режиме отладки и показывая представления списка должным образом.

enter image description here

выше изображение находится в режиме выпуска.

Обратите внимание, мой Pro-Guard файл

-keep class in.apricotz.outlet.ui.adapter.ListBaseAdapter.** 
     -keep class butterknife.** { *; } 
     -dontwarn butterknife.internal.** 
     -keep class **$$ViewBinder { *; } 

     -keepclasseswithmembernames class * { 
     @butterknife.* <fields>; 
    } 

    -keepclasseswithmembernames class * { 
    @butterknife.* <methods>; 
    } 
    -dontwarn org.apache.http.** 
    -dontwarn okio.** 
    -dontwarn retrofit2.** 
    -keep class retrofit2.** { *; } 
    -keepattributes Signature 
    -keepattributes Exceptions 
    -keepattributes *Annotation* 

    -keepattributes RuntimeVisibleAnnotations 
    -keepattributes RuntimeInvisibleAnnotations 
    -keepattributes RuntimeVisibleParameterAnnotations 
    -keepattributes RuntimeInvisibleParameterAnnotations 
    -keepattributes EnclosingMethod 
    -keepclasseswithmembers class * { 
    @retrofit2.* <methods>; 
    } 

    -keepclasseswithmembers interface * { 
    @retrofit2.* <methods>; 
    } 

    -keepattributes Signature 
    -keepnames class org.apache.** {*;} 
    -keep public class org.apache.** {*;} 
    -keep public class org.apache.http.**{*;} 
    -keep class rx.schedulers.Schedulers { 
    public static <methods>; 
    } 
    -keep class rx.schedulers.ImmediateScheduler { 
    public <methods>; 
    } 
    -keep class rx.schedulers.TestScheduler { 
    public <methods>; 
    } 
    -keep class rx.schedulers.Schedulers { 
    public static ** test(); 
    } 
    -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { 
    long producerIndex; 
    long consumerIndex; 
    } 
    -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef    {  long producerNode; 
     long consumerNode; 
    } 
    -dontwarn rx.internal.util.** 

    -dontusemixedcaseclassnames 
    -dontskipnonpubliclibraryclasses 
    -dontpreverify 
    -verbose 
    -ignorewarnings 
    -repackageclasses '' 
    -allowaccessmodification 
    -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 

    -dontwarn android.support.design.** 
    -keep class android.support.design.** { *; } 
    -keep interface android.support.design.** { *; } 
    -keep public class android.support.design.R$* { *; } 
    -keep public class * extends android.support.v4.app.Fragment 
    -keepclassmembers class **.R$* { 
    public static <fields>; 
    } 

Я перепутались с этим вопросом в течение последних двух дней. В отладочной версии приложение отлично работает без каких-либо проблем. Пожалуйста, помогите мне.

Blockquote

+0

Я получил этот вопрос я просто пропустил правило Proguard для модели класса, используя GSON. – Sunny

ответ

0

фактически не может найти причину для вас, но вы можете проверить:

URL-адрес, чтобы получить данные с сервера в режиме релиза, это ответ на это пустой элемент в списке предметов?

Если вы используете пользовательскую библиотеку из github, проверьте Pro-Guard, какую настройку автора.

У вас есть объект с держателем вида для хранения элемента просмотра для просмотра? задайте цвет текста для текстового просмотра с помощью программирования.

Вы можете использовать recyclerview для замены listview.

обратные проблемы с ProGuard: https://stuff.mit.edu/afs/sipb/project/android/sdk/android-sdk-linux/tools/proguard/docs/index.html#manual/troubleshooting.html

+0

Получение данных с сервера. Нет проблем с связью с сервером, и в результате данные также устанавливаются в listview (я могу выбрать данные из списка). Использование держателя вида в списке и настройка программно – Sunny

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

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