安卓开发——升级compileSdkVersion、targetSdkVersion、buildToolsVersion、support包到最新(28)问题解决

最近给项目升级sdk版本:

compileSdkVersion:26 -> 28

targetSdkVersion:23 -> 28

buildToolsVersion:"25.0.2" -> "28.0.3"

support包:"24.2.1" -> "28.0.0"

遇到一些问题,在此记录一下解决办法:

一、编译报错:junit.framework.Assert不存在

项目中有个地方用到了Assert类(使用Assert.assertTrue()),原本的导包是:

import junit.framework.Assert;

但编译时报错:junit.framework.Assert不存在。

原因:Assert类在新版本中从junit.framework中移除,移到org.junit中。

解决办法:

(1)、找到Androidstudio目录,将.\gradle\gradle-4.4\lib\plugins目录下的junit-4.12jar,拷贝到工程app目录下的libs文件夹中,并引入,即在build.gradle中添加一行:compile files("libs/junit-4.12.jar"),如:

dependencies {
    ...
    compile files('libs/junit-4.12.jar')
}

(2)、将导包 import junit.framework.Assert 替换为 org.junit.Assert;

二、7.0以上运行崩溃:java.lang.SecurityException:MODE_WORLD_READABLE no longer supported

这是由于MODE_WORLD_READABLE模式已经被废弃,需换成MODE_PRIVATE,即:

SharedPreferences sp = context.getSharedPreferences("xxx", Context.MODE_PRIVATE);

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值