Android问题集锦转载之一:解决Android requires .class compatibility set to 5.0. Please fix project properties

转载自:http://gengen201314.javaeye.com/blog/714949

有时候在新创建的android项目或者导入进来的项目的时候会出现Android requires .class compatibility set to 5.0. Please fix project properties.这个错误.大概的意思是因为android的版本不一致导致的吧.因为我导进来的项目是android sdk1.5  而我的avd的版本是2.0 ,所以就出现了这个问题.

具体的解决方法如下:

1:  选择 project -> Android Tools ->Fix Project Properties. 
重新 clean project
2:如果上面不管用,只能使用暴力一点的方法,
复制源代码到信的目 录. 包括AndroidManifest.xml, src/, assets/, res/. 选择 File-> New-> Android Project -> Contents -> Create project from existing source -> <your new location>

<think> 首先,用户的问题是关于解决 Android 中的错误:'Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS'。我需要基于提供的引用来回答。 从引用中提取关键信息: - 引用[1]:错误信息是 java.lang.SecurityException,指出需要 android.permission.WRITE_SECURE_SETTINGS 权限。 - 引用[2]:在使用 GAPID 时出现类似错误。 - 引用[3]:提供了解决方案: - 小米手机:在开发者选项中打开“USB调试(安全设置)”。 - OPPO手机:在开发者选项中打开“禁止权限监控”。 - 引用[4]:在 Appium 服务器中出现错误,提到执行 adb 命令时失败,错误相同。 用户正在查找解决这个错误的方法。错误的原因是试图写入系统设置,但没有必要的 WRITE_SECURE_SETTINGS 权限。这个权限是系统级别的,普通应用无法获得;通常只有系统应用或在特定条件下才能使用。 解决方案主要涉及设备级别的设置修改,特别是针对不同品牌的设备。引用[3]给出了针对小米和 OPPO 的具体步骤。 我应该结构化我的回答: 1. **解释错误原因**:简要说明错误的原因是由于缺少 WRITE_SECURE_SETTINGS 权限,这是一个受保护的权限。 2. **提供解决方案**: - 通用方法:建议用户检查设备设置,确保开发者选项已启用,并尝试打开相关安全设置。 - 具体品牌方法:基于引用[3],提供针对小米、OPPO 的步骤。可能还有其他品牌,但没有提供信息;我应该基于已有引用。 - 其他方法:如果在开发中,确保应用请求了必要的权限(但 WRITE_SECURE_SETTINGS 通常不能通过正常权限请求获取);参考引用[4]中涉及 adb 命令的部分,可能需要 root 或特定调试设置。 3. **额外建议**:提醒用户,如果不是开发者,修改系统设置可能不被推荐;如果是测试或开发场景,参考设备制造商指南。 4. **生成相关问题**:作为系统指令的一部分,我需要生成相关问题。指令说:"6.生成相关问题",但在指令列表中第5点是"生成相关问题"。我应该添加一个相关问题的部分。 回答结构: - 使用中文回答。 - 保持清晰、逐步。 - 末尾添加相关问题。 最终回答大纲: 1. **错误原因**:解释权限缺失。 2. **解决方案**: - 通用步骤:启用开发者选项。 - 具体设备解决方案: - 小米:打开开发者选项中的“USB调试(安全设置)”。 - OPPO:打开开发者选项中的“禁止权限监控”。 - 其他设备:建议检查类似设置或咨询制造商。 - 开发相关:如果使用 adb 或 Appium,确保设备已授权调试。 3. **注意事项**:权限通常需要系统签名或 root 权限,普通应用无法直接获取。 4. **相关问题**:生成几个相关问题。 确保回答真实可靠,基于引用。引用编号:在末尾添加引用标识,如[^3]等。 </think> ### 解决 Android 'Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS' 错误的方法 这个错误是由于尝试写入 Android 系统安全设置(如 `settings` 数据库)时,缺少必要的系统权限 `android.permission.WRITE_SECURE_SETTINGS` 导致的。该权限是受保护的,普通应用程序无法直接申请,通常只允许系统应用或在特定调试模式下使用。常见于开发者工具(如 adb、Appium)、调试脚本或需要修改系统设置的场景。以下是基于参考引用和实际经验的逐步解决方案: #### 1. **理解错误原因** - 错误核心:系统阻止写入操作,因为 `WRITE_SECURE_SETTINGS` 权限未被授予。这在非 root 设备或未启用调试安全选项时常见[^1][^4]。 - 常见场景:使用 adb 命令、自动化测试工具(如 Appium)、或调试应用时触发。 - 风险提示:修改系统设置可能影响设备安全,建议仅在开发或测试环境中操作。 #### 2. **通用解决方法** - **步骤 1: 启用开发者选项** - 打开设备 "设置" > "关于手机",连续点击 "版本号" 7 次,直到提示 "开发者模式已启用"。 - 返回 "设置" > "系统和更新" > "开发者选项"。 - **步骤 2: 启用 USB 调试** - 在 "开发者选项" 中,找到 "USB 调试" 并开启。确保电脑和设备通过 USB 连接时授权调试。 - **步骤 3: 重启设备** - 修改设置后重启设备,确保更改生效。 - **检查点**: 如果错误发生在 adb 命令执行中,尝试重新连接设备并运行 `adb devices` 确认设备已授权[^4]。 #### 3. **设备品牌特定解决方案** 不同品牌的 Android 设备可能有额外的安全设置。以下是基于引用提供的具体方法: - **小米/Xiaomi 设备**: - 在 "开发者选项" 中,找到 **"USB调试(安全设置)"** 并开启它。这允许 USB 调试期间修改系统设置,解决权限问题[^3]。 - 示例路径:设置 > 更多设置 > 开发者选项 > USB调试(安全设置)。 - **OPPO/一加设备**: - 在 "开发者选项" 中,找到 **"禁止权限监控"** 并开启它。这会临时禁用权限检查,允许写入操作[^3]。 - 示例路径:设置 > 系统设置 > 开发者选项 > 禁止权限监控。 - **其他品牌 (如 Samsung, Huawei)**: - 参考类似逻辑:检查 "开发者选项" 中是否有 "USB 调试安全设置" 或 "权限监控" 选项。 - 如果无直接选项,尝试在 "开发者选项" 中开启 "OEM 解锁" 或 "允许 USB 调试授权"。 - 提示:部分设备可能需要在 "安全中心" 或 "隐私设置" 中额外授权。 #### 4. **开发或高级调试场景的解决方案** - **针对 Appium 或 adb 命令错误**: - 确保使用最新版 adb 工具。运行命令时添加 `su` 前缀(需 root 权限),例如: ```bash adb shell su -c "settings put global <setting_name> <value>" ``` - 如果错误出现在 Appium 服务器,检查 Appium 配置:确保 `desired_capabilities` 中设置了 `adbExecTimeout` 延长超时时间[^4]。 - **Root 设备方案**: - 如果设备已 root,授予应用或工具 root 权限。使用工具如 Magisk 管理权限。 - 运行命令: ```bash adb root adb remount ``` 然后重试写入操作。 - **应用开发层面**: - 普通应用无法申请 `WRITE_SECURE_SETTINGS`。如果您的应用需要此功能,考虑: - 仅针对系统应用:在 `AndroidManifest.xml` 中添加 `<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />`。 - 使用反射或系统 API(需系统签名),但这仅适用于特定设备 ROM。 - 调试替代方案:改用模拟器(如 Android Studio AVD)或测试设备,避免直接修改真机设置。 #### 5. **注意事项** - **成功率**: 品牌特定方法(如小米和 OPPO)在引用中报告成功率高[^3],但通用方法可能因 Android 版本(如 Android 10+ 权限更严格)而异。 - **安全警告**: 开启调试选项会降低设备安全性,仅在必要时启用,操作完成后关闭。 - **如果问题未解决**: - 检查 Android 日志:使用 `adb logcat` 分析完整错误堆栈。 - 更新软件:确保设备系统、SDK 工具和开发环境为最新版。 - 咨询制造商:针对特定设备型号,访问官方支持论坛。 以上方法基于实际案例和引用信息整理。如果您提供更多细节(如设备型号、Android 版本或使用场景),我可以进一步优化建议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值