Android студийная отладка 'app' не уважает minifyEnabled - PullRequest
0 голосов
/ 12 февраля 2020

Моя конфигурация gradle, как показано ниже. Я включил minifyEnabled для режима отладки и выпуска. Но только в режиме релиза код запутывается. Если я нажимаю кнопку отладки в Android Studio, minifyEnabled, кажется, не работает, я все еще могу отлаживать с точками останова, и файл proguard также не действует. Однако, если я создаю apk в режиме отладки, работает флаг minifyEnabled и файл proguard, что проверяется аналитикой apk.

Это нормально? Что я знаю, так это то, что если вы включили minifyEnabled в режиме отладки, то отладчик не будет работать.

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

1 Ответ

0 голосов
/ 12 февраля 2020

minifyEnabled не мешает отладке вашего кода, он включает сжатие, обфускацию и оптимизацию кода, как сообщается здесь .

Вам необходимо установить флаг debuggable в значение false, чтобы предотвратить отладку:

buildTypes {
  debug {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-debug.txt'
  }
  release {
    debuggable false
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-release.txt'
  }
}

О запутывании, работающем только в выпуске buildType, это может быть связано с вашими правилами proguard, указанными c для вариант отладочной сборки (proguard-rules-debug.txt). Однако ваш код должен быть минимизирован, если вы видите, что он минимизирован в скомпилированном apk, возможно, вы имели в виду, что он отлаживаем, даже если минифицирован.

...