2014-12-17 4 views
1

Я делаю переход на Android Studio 1.0.1. Я также избегаю использовать поддержку android-v7 из-за проблемы, с которой я сталкиваюсь described in this link. Однако теперь я хочу включить материальный дизайн и использовать appcompat.proguard-rules.pro отсутствует файл - Android Studio 1.0.1

На два устройства, на которые я тестирую, влияет ошибка в ссылке выше, поэтому у меня есть несколько идей о том, как решить эту проблему. Пожалуйста, дайте мне совет, если они будут работать, потому что я не знаком с тем, как Proguard работает еще из-за того, что он никогда не использовал его (я прочитал документацию)

Я считаю, что мне просто нужно включить эти строки в сделать AppCompat библиотеки работают на пораженных устройствах Samsung:

# Allow obfuscation of android.support.v7.internal.view.menu.** 
# to avoid problem on Samsung 4.2.2 devices with appcompat v21 
# see https://code.google.com/p/android/issues/detail?id=78377 
-keep class !android.support.v7.internal.view.menu.**,android.support.** {*;} 

1) в buildTypes создать раздел "отладки". Установите minifyEnabled на «true» и включите только файл с строками, указанными в ссылке выше в указанном файле proguard. Не включайте файл proguard по умолчанию, потому что во время отладки я не хочу, чтобы весь код был сведен к минимуму, я просто хочу переименовать затронутые классы.

Я думаю, у меня есть только одна идея. Будет ли это работать? Я попробую и отправлю отчет ...

ответ

0

Если вы отлаживаете устройства samsung под управлением 4.2.2 и имеете проблемы, убедитесь, что вы добавили следующие строки кода в 'proguard-android.txt' если вы используете ProGuard, или создать свой собственный текстовый файл (как я) и указать на этот файл в вашем build.gradle

# Allow obfuscation of android.support.v7.internal.view.menu.** 
# to avoid problem on Samsung 4.2.2 devices with appcompat v21 
# see https://code.google.com/p/android/issues/detail?id=78377 
-keep class !android.support.v7.internal.view.menu.**,android.support.** {*;} 

Вот что мой Gradle файл выглядит следующим образом. «Самсунг-alteration.txt» содержит только выше фрагмент кода

buildTypes { 
    debug { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('samsung-alteration.txt') 
    } 

    release { 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 

Надеется, что это помогает некоторым из yinz!

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