签名apk错误[WifiManagerLeak]

时间:2017-03-06 08:40:13

标签: android

我可以创建调试apk。但是当我尝试生成签名的apk时,我收到以下消息:

  

错误:必须在应用程序上查找WIFI_SERVICE   上下文或内存将在设备上泄漏< Android N.尝试更改为   .getApplicationContext()[WifiManagerLeak]

3 个答案:

答案 0 :(得分:38)

正如错误所示,似乎WiFiManager必须使用ApplicationContext,而不是ActivityContext,否则可能会发生内存泄漏。错误是由以下代码触发的:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

要解决此问题,我将以上行替换为:

WifiManager wifi = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);

答案 1 :(得分:3)

这对我有用

WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(getApplicationContext().WIFI_SERVICE);

答案 2 :(得分:0)

我在build.gradel - module.app中添加了以下代码,现在已成功构建应用程序

(由android studio本身建议)

lintOptions {         checkReleaseBuilds false         //或者,如果您愿意,可以继续检查发布版本中的错误,         //但是即使发现错误也继续构建:         abortOnError为false     }