在打包时你可能遇到这样的问题:
警告: [deprecation] android.hardware中的Camera已过时
虽然对于打包没什么影响,但对于我这样有点吹毛求疵的人可能就是忍受不了,
解决方式:在module下的gradle加入了:
android{
lintOptions {checkReleaseBuilds false
abortOnError false
}
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}
}
例如:
在Android Studio 1.2.2中编译代码时遇到Resources中getDrawable(int)已过时的警告信息:
Warning:(133, 52) java: android.content.res.Resources中的getDrawable(int)已过时
查看API文档:https://developer.android.com/reference/android/content/res/Resources.html?hl=zh-cn
Resources类中有两个方法在API level 22中被废弃:
废弃接口:Drawable getDrawable(int id)
替代接口:Drawable getDrawable(int id, Resources.Theme theme), 第二个参数@theme可以为空值.
或Context.getDrawable(int)
废弃原因:在JELLY_BEAN(也就是Android 4.1版本)之前, 当这里传递的资源ID是另一个Drawable资源的别名, 则该函数不能正确地获取到最终配置density。即别名资源(alias resource)的density配置不同于实际资源的, 返回的Drawable对象的density将不正确, 这样缩放时将出错。