2017年11月1日17:33:04更新
一.构建
1.maven 添加多个url
在项目构建的过程中,我们经常会遇到依赖很多库的情况,那么添加多个url的解决办法就在下面啦。
allprojects {
repositories {
jcenter()
maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }
maven { url "https://jitpack.io" }
}
}
二.多媒体
1.从imageview中获得bitmap的方法
经常会遇到从view中获取bitmap的问题,那么这里提供一个简单的方法
Bitmap bm =((BitmapDrawable) ((ImageView) image).getDrawable()).getBitmap();
三.Material Design
1.水波纹
水波是个好东西,点击一下会有很灵动的效果,那么在Android5.0上怎么实现呢?其实只需要在空间上添加一个属性
android:background="?android:attr/selectableItemBackground"
四.编译错误
1.导入文件重复
无论是在构建debug版本或者是构建release版本都可能出现的错误,根据字面意思可以知道就是导入的文件重复,那么第一反应就是删一份,那么我们可以看看他们都在哪里,(Double Shift快捷键搜索或者手动打开lib查找)
那么找到了之后可以尝试删除,如果删除之后又复现,可以尝试build.gradle里查看是否有冲突的导入,删掉依赖即可。
2.瓜皮问题?
描述:IDE突然报错
//这里没来的及截图
Error:Execution failed for task ':app:processDebugResources'. > No slave process to process jobs, aborting
查询多处无果,就连StackOverflow都没有……失望,重启AS,我擦!好了……真的是无语了。
3.找不到依赖项
描述:刚升级As3.0,新建了一个工程,结果出现一大片错误……不过错误的种类都是一样的,如下
Error:Unable to resolve dependency for ':app@debug/compileClasspath':
Could not resolve project :library.
Error:Unable to resolve dependency for ':app@release/compileClasspath':
Could not resolve project :library.
查询国内外网站都说是As3.0新配置的坑,但是又没有一个能解决的方法,包括Android 开发者官网的方法也是看的一脸懵逼,后来也是在StackOverflow上面看到另一个问题的帖子,觉得他的问题跟我的很像,就抱着试试看的态度改了一下,然后就出现楼上那个瓜皮问题,重启全部搞定。
那么改的是一个设置项 File->Setting->Gradle->offline Work勾去掉。
这里主要是本地工作的原因,导致依赖项没有下载或者更新。
同时在As3.0中我们可以使用下面的依赖方法
//官方依赖
implementation 'com.android.support:appcompat-v7:26.1.0'
//第三方依赖
api 'com.airbnb.android:lottie:2.2.5'
当然,使用complie应该也是没问题的,具体可以看上面的url。
4.导入项目问题
解决AndroidStudio导入项目在 Building gradle project info 一直卡住
5.Gradle问题(同4)
当我们能进入项目,但是还是不能编译运行,我们可以考虑用于一个默认的gradler,在setting中选择Use local gradle distribution,然后选择Gradle 的目录即可,这样就不会每次根据项目中\gradle\wrapper\gradle-wrapper.properties 文件下载指定版本的gradle。而是使用指定的gradle
五.代码错误
1.ButterKnife错误
如上图代码,使用了官方插件导入bind,看似不会报错,但是实际上会报下面的错误
找不到控件,研究源码可以看到,传入的this作为目标,进行布局获取,所以必须把butterknife.bind放在setContentView后面,但是代码确实是这么写的,那么哪里出问题了呢,看报错log下面部分(图未截完整),是该类父类里调用了butterknife.bind这句代码,而父类不存在布局加载,所以导致空布局。
2.Github错误
将项目Share到Github的时候,虽然连得通,但是提示
git error setting certificate verify locations
这个错误是系统证书的问题,系统判断到这个行为会造成不良影响,所以进行了阻止,只要设置跳过SSL证书验证就可以了,打开gitbash,然后输入
git config --global http.sslVerify false
此时导入就没问题了。
六.UI问题
1.桌面小部件测试时候出现正在加载但是就是不出来
遇到这种情况最好检查一下布局中,有没有用到Google官方公布的在小部件中不支持的控件,如editview,cardview等v7控件,如果有只能寻找替代品了,这样认识最快的解决方案了。