记录个人在开发中遇到的一些小问题,持续更新!
1、Android Studio中的Button英文文本全部显示为大写
添加属性 android:textAllCaps="false"
2、android.net.conn.CONNECTIVITY_CHANGE 7.0后静态注册无效
以前项目中使用完全没问题,后来自己在一个新项目中使用的时候发现一直没有回调,折腾了半天,自己还写了Demo,分别静态注册和动态注册,奇怪的是发现动态注册完全没有问题,静态注册却没有回调,后来发现官方在7.0后取消了 android.net.conn.CONNECTIVITY_CHANGE
的静态注册。
官方应该是考虑到电量优化,在Android N 后取消了CONNECTIVITY_ACTION
的静态注册,动态注册没有影响。
如果你的 targetSdkVersion 值大于等于24,那么静态注册 CONNECTIVITY_ACTION
就不会执行回调,官方建议
使用 JobScheduler
和 GcmNetworkManager
对网络进行优化。
3、导入项目Androidstudio报 Error:前言中不允许有内容。
新建项目,查看Project下的build.gradle
中gradle使用的版本号,修改导入项目的gradle
版本号,修改成和新建版本号一致就可以了。
在某些情况下,可能还要改
gradle-wrapper.properties
文件夹下distributionUrl
的值,跟新建项目一致就ok了。4、Could not resolve all files for configuration ':classpath' Could not find com.android.tools.build:gradle:3.1.2.
导入别人项目时候遇到问题,如下图:
处理办法:
在Project下的 'build.gradle' 下作如下修改:
5、Retrofit + rxjava 返回数据为空
@GET("/api/gateways")
Observable<JsonObject> getGateway(@Query("limit") int number);
这里要注意 com.google.gson.JsonObject
和 org.json.JSONObject
选择 com.google.gson.JsonObject
返回数据
org.json.JSONObject
返回数据为空
6、am start -a android.intent.action.MAIN -n de.blinkt.openvpn/.LaunchVPN -e de.blinkt.openvpn.shortcutProfileName Home
启动 activity格式:
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
实例2:(带extra 的 intent)
am start -n com.android.camera/.Camera -e abc hello
Starting: Intent { cmp=com.android.camera/.Camera (has extras) }
其中 extra 的 key 为 abc ,value 为字串 "hello"
7、Android dependency 'com.android.support:appcompat-v7' has different version for the compile (25.3.1) and runtime (27.1.1) classpath. You should manually set the same version via DependencyResolution
原因:有些三方库里面引入的库和本地库文件冲突,需要统一版本
处理:
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
//统一版本号(版本号根据实际情况填写)
details.useVersion "27.1.1"
}
}
}
}
网友评论