Proguard Printmapping не работает в Android Studio 2.0.0 (и 2.1.0)
Использование gradle обертки 2.10 и Android gradle инструменты сборки 2.0.0-beta7 2.1.0
Из моего build.gradle:
buildTypes {
all{
minifyEnabled true
proguardFiles = [getDefaultProguardFile("proguard-android.txt"), 'proguard-project.pro'];
}
}
Это работает. Вещи запутаны.
В моем proguard-project.pro также есть следующая строка:
-printmapping my-mapping.txt
Все остальное в этом файле отлично работает, но отображение продолжает печататься не в том месте:
Printing mapping to [C:\path\to\my\project\build\outputs\mapping\debug\mapping.txt]
Изменен ли этот синтаксис?
Примечание. Я попытался предоставить прямой путь. Я попытался предоставить имя без дефиса. Ничего не меняется.
На данный момент я просто создал для него задачу копирования gradle.
Ответы
Ответ 1
Файл сопоставления в месте build\outputs\mapping\debug\mapping.txt
является по умолчанию, который генерируется, даже если вы не укажете -printmapping my-mapping.txt
внутри proguard-project.pro
. Я вижу, что имя всегда mapping.txt
, поэтому -printmapping
игнорируется с новой версией Android Studio.
Я помню, что он использовался для создания в той же корневой папке проекта, где присутствует proguard-project.pro
, но я подтверждаю, что он не генерируется сейчас с Android Studio 2.0 и является ошибкой, которую вы можете записать в Android Issue Tracker.
ОБНОВЛЕНИЕ
Ссылка на проблему с Android: https://code.google.com/p/android/issues/detail?id=205213
Ответ 2
Столкнувшись с той же проблемой, но кажется, что
{projectRoot}\build\outputs\mapping\debug\mapping.txt
- правильное место для отображения файлов сейчас
Ответ 3
Возможно, вы можете перейти к следующему
android {
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'),'some-other-rules.txt'
//proguardFile 'some-other-rules.txt'
}
}
}
Ответ 4
Просто попробуйте запустить Android Studio в качестве администратора.
-printmapping
не может записываться в системную папку, которая вызывает эту проблему.