Progruard и R8 устарели - Android Studio 3.6

9

Я получаю устаревшие предупреждения в отношении Proguard, а также R8 после обновления моей Android Studio до 3.6. Означает ли это, что мы не должны использовать запутывание в наших проектах или есть другой эквивалентный вариант, который мы должны учитывать при сборке в режиме релиза?

Опция «android.enableR8» устарела и больше не должна использоваться. Он будет удален в следующей версии плагина Android Gradle и больше не позволит вам отключить R8. Затронутые модули: и т. Д.

Rixment
источник
Можете ли вы поделиться сообщениями, которые вы получаете?
Антон Бараненко
Можете ли вы уточнить, что вы подразумеваете под «устарелыми предупреждениями» в этом контексте? Фактический текст предупреждений может помочь.
Питер Теффт
Я не помню точное сообщение, но там говорилось, что оно устарело. Примечание: я получил его после обновления до Android Studio 3.6
Rixment
Чтобы получить ответ, вы должны опубликовать полное, точное предупреждение. Например, useProGuardнастройка давно устарела - может быть, это то, что вы видели, и вы ее неправильно запоминаете.
Майкл
Я перешел на R8 на этой неделе и useProGuardудаляю все из моего gradle's
Rixment

Ответы:

7

Означает ли это, что мы не должны использовать запутывание в наших проектах

Нет. Вы можете использовать инструменты обфускации и оптимизации.

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

Если у вас есть android.enableR8 = trueв вашем gradle.properties, удалите его как R8 это набор инструментов по умолчанию и android.enableR8сама установка не рекомендуется, в результате чего эти предупреждения устаревания.

Если вам нужно android.enableR8 = falseиспользовать proguard для оптимизации и обфускации, рассмотрите возможность перехода на R8.

laalto
источник
как сделать проект запутанным? Я удалил все данные свойства и сказал удалить зависимость R8 из build.gradle, и я больше не могу скомпилировать проект, я получаю R8NullPointerException что это?
Лена Брю
Это похоже на то, что выходит за рамки раздела комментариев здесь.
laalto
@laalto Что я получил из твоего ответа, так это то, что R8 будет работать автоматически, так что нет необходимости добавлять android.enableR8 = true, верно?
Мохамед
@Mohamed Это тоже мое понимание, при условии, что у вас есть плагин Android Gradle 3.6 или новее.
Laalto