前言
自从转了 Android Studio 后,感觉越来越顺手了,不得不感叹,它是个强大的 Android 开发工具。但是,开发过程中也出现了各种各样的问题,在此集中整理,为广大朋友提供帮助!
问题一、libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
1、问题描述
在 Android Studio 1.5 下编译期间,出现了下面错误信息:
…\res\drawable-hdpi\icon_edit_bg.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
baidu 和 google,答案都说是非 png 格式的图片(例如 jpg 格式等)而错误地采用了 png 为后缀,于是出现上述错误。原因是新版本的 libpng 对关于 iCCP 采用了更严苛的约束。但是是从哪个 libpng 版本开始严格检查,主要是检查哪些内容导致的告警信息呢?基本上没有看到答案。
2、解决方案
在 App 的 build.gradle 里添加以下两句:
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
可直接添加到 buildToolsVersion 的下方即可,这个是用来关闭 Android Studio 的 PNG 合法性检查的,直接不让它检查!!!当然,这是取巧的做法,在 Eclipse 上没出现这样的问题。所以,大家开发过程中,还是要合理处理图片,避免莫名巧妙的错误!
还有一种解决方案,有点麻烦,想参考的朋友来这里:http://my.oschina.net/1pei/blog/479162?fromerr=2GUdkIHA
2016.03.30,突然发现有时候这个解决方案不好用,依然出现错误,而上面的两句话也是无法解析,不明所以。于是,我想还是从根本上解决问题吧,那就修改.9 文件,让他符合 Android Studio 的审查标准。
具体做法:
直接在 Android Studio 中打开.9.png 图片,Android Studio 编辑器可以对图片进行处理,我还是直接图片说明吧。
问题二、Android 5.0 上的 ListView 和 Button 等点击没有水波效果?
1、问题描述
自从 Android 5.0 发布以来,其新特性收到广大开发者的喜爱,种种就有控件点击涟漪效果。
但是有时候在 5.0 上的 ListView 和 Button 等点击没有水波效果,有些 Button 有效果,有些没有,有些 ListView 有效果,有些没有。
这就有些奇怪了哈~
2、问题解决
经查找发现,我的 Button 和 Listview 用了自定义背景。
那么解决起来也简单了。只需要把 Listview 的 Item 或者 Button 等控件,用以下方式定义 Background 即可。
android:background=”?android:attr/selectableItemBackgroundBorderless”
或者
android:background=”?android:attr/selectableItemBackground”
问题三、Android Run 运行模式下也会一直弹出“waiting for debugger”的问题
解决办法是:重启手机!!!
问题四、错误:Error:No service of type Factory available in ProjectScopeServices.
1、问题描述
最近升级了 Android Studio 到了 2.1.3 版本,Gradle 也升级到了 2.14.1 版本,速度没感觉到有什么提升。但是打开之前的工程却出现了问题:Error:No service of type Factory available in ProjectScopeServices.
2、问题解决
经过 clean 以后,再执行同步,终于发现了问题。
于是,我知道了是 maven 出了问题,定位到代码中:
dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.5"
}
我在 github 中搜索 android-maven-gradle-plugin,发现这个插件版本不是最新的。
github 上面插件地址:https://github.com/dcendents/android-maven-gradle-plugin
于是我把 1.3 改为了 1.5,重新编译同步,问题解决!