开发笔记-疑难杂症

整理之前的近期小记时,发现有一些笔记不太好归类,且可能比较偏门,统一放到这里,汇集到一定量后可以再分类存放

No.1 听云集成报错 No virtual method isVisible()

1
java.lang.NoSuchMethodError: No virtual method isVisible()Z in class Lcom/xxxx/xxxxxx/containers/xxxxxx; or its super classes (declaration of 'com.xxxxxx.xxxxxxx.containers.xxxxxx' appears in /data/app/com.myapp.app-JUxpxJQv7z6s5jkYdS3yHw==/base.apk!classes3.dex)

报错信息如上图,初步推断为听云嵌码插桩逻辑有些问题,部分类应该跳过插桩的过程,搜索相关内容寥寥无几,且不相关,听云客服疑似空号,添加失败,客服群也加不进去,最后从非常旧和凌乱的文档中看到一个不太起眼的描述:

1
2
# 等号“=”后替换为需要过滤听云嵌码的类的路径,如有多个路径,使用英文逗号隔开
noInstrumentedClasses=com/xxxxxx/xxxxxxx/containers/xxxxxxx

把报错中指出的类填入这个 noInstrumentedClasses 中,再次编译,还是不行,后来发现是他的配置内容有缓存在本地,clean project 再重新跑就可以了,记录这个不是为了下次接入再查阅,而是提醒自己需要提升信息搜集能力和文档查阅能力,同时多从报错中推断;处理类似的第三方接入问题时,更改配置要 clean project,避免部分配置缓存在本地造成误判,认为自己的写法有误;另外,接入第三方库时尽量选取维护比较积极,售后比较靠谱的

相关链接

No.2 Mac 处理 Adobe Genuine Software Integrity Service

使用”不明来路”的 ps, 某一天突然弹出个窗,必须点一下才能关掉,而且过一会又弹出来,无法彻底关闭

解决方法:

  1. 关闭所有 Adobe 软件
  2. $ sudo rm /Library/Application\ Support/Adobe/AdobeGCClient/AdobeGCClient.app/Contents/MacOS/AdobeGCClient
  3. 启动 ps,就正常了

No.3 Android SSL 验证服务器证书 Hostname 不匹配错误

有时候开发需要改动 host,然后会报 host name 不匹配的错误,

1
12-24 16:37:04.801: W/System.err(26380):   java.io.IOException: Hostname '74.208.145.100' was not verified

错误原因是验证证书时发现真正请求和服务器的证书域名不一致,这时就可以在客户端代码中增加如下代码,忽略hostname 的验证

1
2
3
4
5
HttpsURLConnection.setDefaultHostnameVerifier( new HostnameVerifier(){
public boolean verify(String string,SSLSession ssls) {
return true;
}
});

No.4 电脑可以科学上网但是模拟器不能的情况

自己胡乱鼓捣的时候,发现有这样一种情况:电脑已经开启了科学上网,模拟器可以上网,但是不能浏览外网

解决方法:

  1. 打开模拟器配置,找到 proxy 选项
  2. ip 写 127.0.0.1,端口写代理的端口(如果使用的是 Clash,打开 Clash 主界面 -> General 应该就可以看到)
  3. 保存设置,再尝试一下

No.5 AS 4.2 Gradle 面板中 Tasks 不见了

某次想要执行一些 Gradle 命令,点开 Gradle 面板时,发现其中的 Tasks 不见了

解决办法如下:

参考文章


开发笔记-疑难杂症
https://enderhoshi.github.io/2024/03/05/开发笔记-疑难杂症/
作者
HoshIlIlI
发布于
2024年3月5日
许可协议