build.version_codes.m 找不到

本文介绍了一次在导入开源项目时遇到的关于Android 6.0版本编译的问题,主要原因是开发环境中的SDK版本未更新至所需版本。文章提供了两种解决方案:更新SDK版本或移除相关代码,并探讨了Google对于开发人员使用最新SDK的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在导入一个开源项目代码的时候出现了一个错误,build.version_codes.m 找不到,网上搜了下没找到答案。

具体代码如下:


可以看到的是
@TargetApi(Build.VERSION_CODES.M)
这句代码的 "M"编译器给出了红牌。
一开始很疑惑,不知道什么原因,后来找了下"Build.VERSION_CODES.M"代表的是Android 6.0的版本了,我才明白过来。
因为在我的开发环境中,我的安卓插件,以及sdk的版本都还没有更新到android 6.0。所以编译器不认识 @TargetApi(Build.VERSION_CODES.M) 当然也就情有可原。

解决办法,更新sdk版本 或者直接删除该部分代码。

思考:google在这一理念的设计上,有着对开发人员使用最新sdk的要求。



                
``` private void requestNotificationPermission() { boolean notificationPermissionGranted = NotificationManagerCompat.from(this).areNotificationsEnabled(); if (!notificationPermissionGranted){ Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS); intent.putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName()); startActivity(intent); } } private void checkAndRequestStoragePermission() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (!Environment.isExternalStorageManager()) { Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION); startActivityForResult(intent, REQUEST_MANAGE_EXTERNAL_STORAGE); } else { havePermission = true; } } else { if (ActivityCompat.checkSelfPermission(this,WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE,REQUEST_EXTERNAL_STORAGE); }else { havePermission = true; } } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ super.onActivityResult(requestCode, resultCode, data); if (resultCode == REQUEST_MANAGE_EXTERNAL_STORAGE){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R){ havePermission = Environment.isExternalStorageManager(); } } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults){ super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == REQUEST_EXTERNAL_STORAGE){ havePermission = grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED; } }```检查代码并修改 改用adnoird14适用的方法。
03-08
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值