我使用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异常所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)