AndroidStudio kotlin插件意外disable后的恢复办法。

本文讲述了开发者在误删kotlin依赖并禁用插件后,如何通过删除缓存目录解决AS无法启动的问题,包括发现原因、解决方案和环境背景。

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

1.起因

发现自开发的APP在打包后classes.dex有点大。

解压后发现里边打包了很多kotlinx相关的class。本工程是纯java编写, 而且前一个版本并未打包写这些东西,认为无需额外打包这些东西。(原因是不小心跟随AS提示,更新了androidx相关包引用的版本,导致该androidx包间接引入了kotlin依赖,详细原因见另外篇帖子, dex 额外打包kotlinx)。

---  事实证明,这不是一个好习惯。够用就行,没必要更新到最新。

开始没反应过来看包依赖关系,无意间看到错误贴尝试disable kotlin,解锁AS再也起不来了。

找到如下贴:

kotlin插件禁用导致的Android studio无法打开-mac

结论是:一样无法恢复。

去掉disabled-plugins.txt中的kotlin也是无法恢复的,而且重装同版本的AS是无法恢复的。

甚至有人为了解决重装也无法恢复的问题重装系统!!!

这就夸张了。

直到看到这个贴《AndroidStudio禁用插件导致无法使用的问题》。

原来缓存配置除了:

~/.config/Google/AndroidStudio2021.1/

还有:

~/.local/share/Google/AndroidStudio2021.1/

2.解决方案

删除AS对应版本号的缓存。

解决方案是:

删除disabled_plugins.txt, 然后删除~/.local/share/Google/AndroidStudio2021.1/整个目录。

再启动Android Studio,可以了。

缺点是职权缓存的项目不在了。

需要重新索引进来。

3. 环境

个人的环境是Ubuntu14.04, AS 2021.1.1 Patch 3(当前最新版)。

 

### 实现蓝牙功能的关键要素 为了在 Android Studio 中使用蓝牙 API 开发应用,需遵循特定的配置和编程实践。该过程涉及权限声明、初始化 BluetoothAdapter 和处理不同版本的蓝牙协议。 #### 权限声明 应用程序必须请求必要的权限才能访问蓝牙硬件。这些权限应在 `AndroidManifest.xml` 文件中声明: ```xml <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <!-- For Android 12 (API level 31) and above --> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> ``` 对于运行时权限,在较新的安卓版本中还需要动态获取用户的同意[^1]。 #### 初始化 BluetoothAdapter BluetoothAdapter 是整个蓝牙系统的入口点。通过它可执行诸如启动发现进程、查询已配对设备列表等操作。下面是如何获得默认适配器实例的方法: ```kotlin val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter() if (bluetoothAdapter == null) { // 设备不支持蓝牙 } ``` 如果目标是兼容经典蓝牙与低功耗蓝牙(BLE),则需要注意两者间存在差异并分别处理[^3]。 #### 打开或关闭蓝牙 允许用户控制蓝牙开关状态是一项基本需求。这可以通过调用 BluetoothAdapter 提供的相关方法完成: ```kotlin // 打开蓝牙 fun enableBluetooth(adapter: BluetoothAdapter?) { adapter?.enable() } // 关闭蓝牙 fun disableBluetooth(adapter: BluetoothAdapter?) { adapter?.disable() } ``` 值得注意的是,上述动作可能触发系统对话框询问用户确认,并且改变蓝牙的状态可能会引起广播接收器监听到的变化事件[^2]。 #### 发现阶段 一旦获得了有效的 BluetoothAdapter 对象,就可以开始查找附近可用的蓝牙设备了。此阶段通常涉及到注册广播接收者以捕获新找到的设备信息以及现有绑定设备的信息更新。 ```kotlin private val receiver = object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { when(intent?.action){ BluetoothDevice.ACTION_FOUND -> { val device: BluetoothDevice? = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE) // 处理发现的新设备... } } } } // 注册广播接收者用于捕捉蓝牙扫描结果 registerReceiver(receiver, IntentFilter(BluetoothDevice.ACTION_FOUND)) ``` 以上代码片段展示了如何设置广播接收者来响应蓝牙设备被发现的通知。实际应用场景下还需考虑更多细节如过滤条件设定等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值