Исключение при попытке подписать приложение для ANDROID — «java.lang.Исключение SecurityException: Неверный дайджест файла подписи для основных атрибутов манифеста»

#java #android #gradle #build.gradle #android-app-signing

Вопрос:

Я относительно новичок в разработке Android и пытался подписать файл apk, но получил исключение с сообщением — «java.lang.Исключение SecurityException: Недопустимый дайджест файла подписи для основных атрибутов манифеста».

Пройдя через различные форумы, я понял, что это может быть связано с файлом META-INF/msftsig.sf, который был включен с внешней зависимостью msft. Я не могу найти ответ о том, как исключить эти файлы в проекте ANDROID. Любая помощь в этом действительно ценится. Спасибо.

Ответ №1:

После некоторых проб и ошибок я, наконец, решил свою проблему.

Ранее я пытался исключить файлы SF в packagingOptions(файл build.gradle), используя регулярное выражение, как показано ниже

 packagingOptions {
        exclude 'META-INF/*.SF'
}
 

По какой-то причине это не сработало, и когда я изменил полное имя файла, оно сработало. пример ниже:

     packagingOptions {
             exclude 'META-INF/MSFTSIG.SF'
        exclude 'META_INF/ECLIPSE_.SF'
    }