Подписанная ошибка apk [WifiManagerLeak]
Я могу создать debug apk. Но когда я пытаюсь сгенерировать подписанный apk, я получаю следующее сообщение:
Ошибка: WIFI_SERVICE необходимо найти в приложении контекст или память будут протекать на устройствах < Android N. Попробуйте перейти на .getApplicationContext() [WifiManagerLeak]
Ответы
Ответ 1
Как показывает ошибка, кажется, что WiFiManager
должен использовать ApplicationContext
, в отличие от ActivityContext
, иначе может произойти утечка памяти. Ошибка была вызвана следующим кодом:
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
Чтобы исправить проблему, я заменил указанную выше строку:
WifiManager wifi = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
Ответ 2
Это сработало для меня
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(getApplicationContext().WIFI_SERVICE);
Ответ 3
Я добавил следующий код в build.gradel - module.app и теперь успешно создаю приложение
(предлагается самой студией Android)
lintOptions { checkReleaseBuilds false // Или, если хотите, вы можете продолжать проверять наличие ошибок в выпусках, // но продолжаем сборку, даже если обнаружены ошибки: abortOnError false }