android 8.0系统创建文件夹失败

8.0出来后一直没有用过,最近的几个项目集中性的反馈了几个8.0手机的bug,直到今天公司弄来了一台8.0的手机,终于可以真机调试一下。发现问题很简单,就是创建文件夹失败,mkdir()返回false。
可是我明明申请了权限的,也做了6.0以上系统动态申请权限的判断。

        if (Build.VERSION.SDK_INT >= 23 && checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
         != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},1);
        }

弄了半天发现原来8.0系统如果要创建文件夹的话,必须申请写的权限,本来读写是一体的,申请了读的权限,写的权限也就申请了。不知道8.0系统修改了这个机制是出于什么目的······,知道原因就好解决了,将动态申请权限的代码改为下面的即可:

        if (Build.VERSION.SDK_INT >= 23 && checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
         != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
        }
### Android Studio 4.0.2 安装指南 #### 准备工作 下载地址可以通过官方渠道获取,具体网址为:https://developer.android.google.cn/studio/index.html[^1]。 用户可以根据操作系统选择适合的版本进行下载。 #### 系统需求 在安装之前,请确认计算机满足以下最低系统要求: - Windows 7 或更高版本(推荐使用最新版) - 至少 8 GB 的可用磁盘空间用于 IDE 和 SDK 工具 - Java Development Kit (JDK) 版本兼容性建议选用 JDK 8.0[^2] #### 步骤说明 ##### 1. 创建文件夹结构 为了便于管理,可以在硬盘分区中创建一个根目录 `Android` 文件夹,在该文件夹下再分别建立两个子文件夹 `AS` 和 `SDK`。这一步并非强制操作,但有助于后续路径配置更加清晰[^3]。 ##### 2. 执行安装程序 运行已下载完成的 `.exe` 文件,按照向导逐步推进直到遇到自定义选项界面时,指定目标路径至先前规划好的 `AS` 子文件夹内[^3]。 ##### 3. 初始化设置 当第一次启动应用时,默认会询问是否导入旧版数据或其他偏好设定;对于全新部署的情况可以选择忽略此环节继续前进[^3]。 ##### 4. 配置开发环境 - **Java 环境变量** 确保本地已经成功安装了对应版本号范围内的 JDK,并将其加入全局 PATH 中以便于命令行调用[^2]。 - **Gradle 设置** - 方法一:通过菜单栏导航至 File -> Settings -> Build, Execution, Deployment -> Gradle ,调整相关参数以适配项目构建流程; - 方法二:编辑项目的 `build.gradle` 文件以及 `gradle/wrapper/gradle-wrapper.properties` 来手动指定使用的 Gradle 版本信息[^2]。 - **插件支持修复** 如果遭遇缺少核心功能模块错误提示 (`org.jetbrains.android`) ,则需前往用户资料存储区域定位到如下路径:`%APPDATA%\Google\AndroidStudio<version>\disabled_plugins.txt`,删除其中涉及 android 插件的相关记录项后重启软件即可恢复正常运作状态. ##### 5. SDK 组件选取与更新 依据实际业务场景所需 API Level 及其他依赖库列表勾选必要的组件包体实施同步下载动作. ```bash sdkmanager --list sdkmanager "platforms;android-XX" ``` 以上脚本可用于非图形化交互模式下的批量处理任务当中. --- ### 注意事项 由于网络条件差异可能影响部分在线资源获取效率甚至失败情况发生因此提前做好离线镜像准备工作失为一种稳妥策略[^5].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值