android开发坑总结
碰到常见的咱们就记下来,错误发生之后,写下来就加深了记忆,基本后面就会警觉了。把问题纸质化也是为了尽自己所能帮助其他开发者,为国内安卓开发工程师的素质提高,改善大环境尽自己的一份力。
1.[Validate branches Cannot Create: This merge request already exists: ["no message"]]
gitlab提了一个merge,但是合代码的时候报错:
-- 这是因为之前的提交没有关闭或者合并的原因,你点击侧边栏的commit,然后点进相关的分支,合并就好了。
C663F7C4-F47A-46F6-8442-EB297018FA7B.png
2.fastjson cant parse jsonobject to xxx
2.1 fastjson泛型解析出问题,但是把json单独拎出来解析又没问题的时候,可以看下上一个泛型解析的范围是不是大于出问题的这个。比如你的代码先解析AModel,没问题;然后又解析AModel<BModel>,这个时候你如果想取出bmodel中的内容就不可能了,debug的时候你会发现bmodel中的内容竟然还是jsonobject,查看源码你会发现是因为fastjson做了解析缓存,所以建议解析泛型的时候尽量精确到类型。
2.2 如果fastjson中有构造函数,且构造函数参数不为空,你一定要给他加一个空参构造函数,这都是因为fastjson的设计。
3.Error:Execution failed for task ':app:processDebugManifest'.
Manifest merger failed with multiple errors, see logs
这个错的原因有可能是gradle配置有问题,或者合代码的时候有冲突没解决。
4. fatal: Authentication failed for 'url'
大家快跑啊,Mac版本 sourcetree 2.3.1不好用,拉代码总是提示无效链接,
http://dl.download.csdn.net/down11/20160415/bf628cddc03b7348ff2c31717336abc0.dmg?response-content-disposition=attachment%3Bfilename%3D%22SourceTree_2.2.4.dmg%22&OSSAccessKeyId=9q6nvzoJGowBj4q1&Expires=1477371168&Signature=bPzdsnJxB%2FD1fF4eJ91lnJMO%2FCA%3D
这是我花了1个积分在csdn上买的,2.2.4版本心疼,1个积分啊!
后续:由于公司网速太慢,50kb/s,我就又去跟别人请教,发现是ssh和https的ip没弄一致,最后把gitlab上的https改成ssh就好了。说的不是很清楚,如果碰到这种问题可以私信我。
5.Warning:Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for debug as it may be conflicting with the internal version provided by Android.
类似于这种,在gradle文件中android范围下加上useLibrary 'org.apache.http.legacy'就可以了。不用再加httpclient依赖,也不需要packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
6.安卓签名文件对比方法。
先把安装包解压,然后用命令行定位到当前文件夹 输入以下内容,对比md5。
keytool -printcert -file META-INF/CERT.RSA
7.scrollview嵌套webview(用的是腾讯X5)在华为以及魅族手机上出现闪屏 黑屏问题
a.设置android:hardwareAccelerated=”false”,必须这样设置
b.在loadUrl后设置mWebView.setBackgroundColor(0);
c.检查xml布局文件里的WebView的父层布局,也要设置背景为透明的
Ps:在华为荣耀H60上滚动网页会卡,三星上不会。