Как я могу отладить R8 во время компиляции?
Есть ли способ отладки R8 во время компиляции проекта Android?
У меня действительно странная ошибка, и случайное исправление не поможет
2 ответа
Предполагая, что у вас получен проект R8 (из https://r8.googlesource.com/r8) и вы используете IntelliJ в качестве отладчика, это способ отладки Gradle при создании проекта Android Studio.
Первая сборка r8:
tools/gradle.py r8
r8.jar
построен в build/libs
и затем следует ссылаться в основном build.gradle
файл (в buildscript.repositories
раздел) вот так:
buildscript {
dependencies {
classpath files($PATH_TO_R8_JAR) // Must be before the Gradle Plugin for Android.
classpath 'com.android.tools.build:gradle:3.4.0-rc03'
}
}
Для отладки командной строки Gradle run передайте параметры -Dorg.gradle.debug=true
а также --no-daemon
при вызове Gradle, например, для сборки выпуска проекта Android Studio:
./gradlew assembleRelease -Dorg.gradle.debug=true --no-daemon
Команда gradle будет ждать подключения отладчика. В IntelliJ создайте стандартную конфигурацию удаленной отладки и присоедините. Команда gradle продолжится, и будут достигнуты точки останова в коде R8.
ПРИМЕЧАНИЕ: что для ряда версий 3.5.0 aplha добавление r8.jar
в build.gradle
может вызвать проблемы для проектов Kotlin (см. выпуск 129240946).
Для R8
термоусадочная, можно добавить -verbose
переключиться на proguard.cfg
файл. есть вариант:
--pg-conf proguard.cfg
Это build.gradle также показывает, как по умолчанию proguardArguments
можно поставить