android– 使用getBlockSizeLong方法后的java.lang.NoSuchMethodError异常

android– 使用getBlockSizeLong方法后的java.lang.NoSuchMethodError异常,第1张

概述我使用androidstudio1.0.1创建了一个聊天项目这是gradle构建属性applyplugin:’com.android.application’android{compileSdkVersion21buildToolsVersion"21.1.2"defaultConfig{applicationId"chat.mchattrav.chattrav"minSdk

我使用android studio 1.0.1创建了一个聊天项目
这是gradle构建属性
apply plugin:’com.androID.application’

androID {    compileSdkVersion 21    buildToolsversion "21.1.2"    defaultConfig {        applicationID "chat.mchattrav.chattrav"        minSdkVersion 5        targetSdkVersion 21        versionCode 1        versionname "1.0"    }    buildTypes {        release {            MinifyEnabled false            proguardfiles getDefaultProguardfile('proguard-androID.txt'), 'proguard-rules.pro'        }    }}dependencIEs {    compile filetree(dir: 'libs', include: ['*.jar'])}

当我运行应用程序时,我立即收到此错误消息

unfortunately app has stopped

当我调试应用程序时,我得到了这个异常信息

java.lang.NoSuchMethodError: androID.os.StatFs.getBlockSizeLong

似乎我使用了比这种方法所要求的“18”更低的API级别
我可以解决这个问题而无需增加API级别“minSdkVersion”吗?
我可以使用支持库吗?

解决方法:

如果你需要支持低于18的SDK,那么你需要处理它.

存在2种方法:

public int getBlockSize ()在API1中添加,在API18中已弃用

public long getBlockSizeLong ()在API18中添加

你的项目使用第二个,你需要找到所有的用法,并关心运行AndroID版本,例如

StatFs staFs = new StatFs("path");long size = 0;if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){    size = staFs.getBlockSizeLong();}else {    size = staFs.getBlockSize();}// use size ...
总结

以上是内存溢出为你收集整理的android – 使用getBlockSizeLong方法后的java.lang.NoSuchMethodError异常全部内容,希望文章能够帮你解决android – 使用getBlockSizeLong方法后的java.lang.NoSuchMethodError异常所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1115656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存