我可以创建调试apk。但是当我尝试生成签名的apk时,我收到以下消息:
错误:必须在应用程序上查找WIFI_SERVICE 上下文或内存将在设备上泄漏< Android N.尝试更改为 .getApplicationContext()[WifiManagerLeak]
答案 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 }