Подтвердить что ты не робот

Как использовать -dontwarn в ProGuard?

Я использую студию Android для создания приложения для отладки и выпуска. Когда я создаю приложение для отладки/выпуска

./gradlew assembleDebug

./gradlew assembleRelease

обе сборки создаются отлично и работают также. Отображает соответствующее диалоговое окно для отладки или выпуска

теперь я добавил подробности proguard в build.gradle:

signingConfigs {
    myConfig {
           storeFile file("keystore.jks")
           storePassword "abc123!"
           keyAlias "androidreleasekey"
           keyPassword "pqrs123!"
    }
}

buildTypes {
    release {
        runProguard true
        proguardFile getDefaultProguardFile('proguard-android-optimize.txt')
        signingConfig signingConfigs.myConfig
    }
}
productFlavors {
    defaultFlavor {
        proguardFile 'proguard-rules.txt'
    }
}

Теперь он показывает ошибку в журнале событий как

Предупреждение: существует 7 неразрешенных ссылок на классы или интерфейсы.          Возможно, вам придется добавить отсутствующие библиотеки или обновить их версии.          Если ваш код работает нормально без отсутствующих классов, вы можете подавить          предупреждения с параметрами '-dontwarn'.          (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)

Предупреждение: были две нерешенные ссылки на членов класса программы.          Ваши классы ввода выглядят непоследовательными.          Возможно, вам придется перекомпилировать код.

(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember): Flash Sales: proguardDefaultFlavorRelease FAILED

Если я включу опцию runProguard в false, то ее запуск.

У меня есть следующие вопросы:

1) нормально ли выпустить apk с runProguard = false?

2) Как использовать dontwarn при создании сборки релиза?

4b9b3361

Ответ 1

Когда я добавляю новый lib в проект Обычно это как мне нужно определить для Progaurd.

Скажем, я использую Twitter4J lib, затем добавляю dontwarn таким образом.

-keep class twitter4j. ** {*; }

-dontwarn twitter4j. **

Ответ 2

Поместите строки -dontwarn в файл proguard-rules.pro или proguard-rules.txt.

Пришлось гуглить это в другом месте, так как ни один из ответов не включал эту информацию. Проверьте другие ответы для конкретных строк, которые вам нужны для вашего случая.