解决 vscode 中导入 android aosp 源码卡顿问题

正常情况,我们clone 了 aosp 源码,直接导入vscode ,搜索和点击方法跳转都是要等半天的。解决方案如下,先查看一下源码下各目录的大小

du -h --max-depth=1 ~/aosp | sort -h

显然能看出整体源码占 305G,其中out .repo,prebuilts 占了大头,因此可以在vscode 设置排除,从而减少索引建立时间

我的排除列表

源码目录,新建一个.vscode 目录,下面创建一个 settings.json 文件

复制代码
{
    "files.exclude": {
        "**/.repo": true,
        "**/out": true,
        "**/prebuilts": true,
        "**/kernel": true,
        "**/cts": true,
        "**/packages": true,
        "**/developers/**": true,
        "**/development/**": true,
        "**/test/**": true,
        "**/tools/**": true,
        "**/platform_testing/**": true,
        "**/toolchain/**": true,
        "**/pdk/**": true,
        "**/sdk/**": true,
        "**/build/**": true
    },
    "search.exclude": {
        "**/.repo": true,
        "**/out": true,
        "**/prebuilts": true,
        "**/kernel": true,
        "**/cts": true,
        "**/packages": true,
        "**/developers/**": true,
        "**/development/**": true,
        "**/test/**": true,
        "**/tools/**": true,
        "**/platform_testing/**": true,
        "**/toolchain/**": true,
        "**/pdk/**": true,
        "**/sdk/**": true,
        "**/build/**": true
    },
    "files.watcherExclude": {
        "**/.repo/**": true,
        "**/out/**": true,
        "**/prebuilts/**": true,
        "**/kernel": true,
        "**/cts": true,
        "**/packages": true,
        "**/developers/**": true,
        "**/development/**": true,
        "**/test/**": true,
        "**/tools/**": true,
        "**/platform_testing/**": true,
        "**/toolchain/**": true,
        "**/pdk/**": true,
        "**/sdk/**": true,
        "**/build/**": true
    },
    "C_Cpp.errorSquiggles": "disabled",
    "java.project.sourcePaths": [
        "frameworks/base",
        "libcore"
    ],
    "java.import.exclusions": [
        "**/.repo",
        "**/out",
        "**/prebuilts",
        "**/external",
        "**/device",
        "**/kernel",
        "**/cts",
        "**/packages",
        "**/test",
        "**/tools",
        "**/developers",
        "**/development",
        "**/platform_testing",
        "**/sdk",
        "**/toolchain",
        "**/pdk",
        "**/bootable"
    ],
    "java.autobuild.enabled": false,
    "java.import.gradle.enabled": false,
    "java.import.maven.enabled": false
}

以上是我的一些排除选项,现在解决了搜索慢的问题,还存在点击代码接口跳转慢的问题需要解决

解决点击接口跳转慢的问题

在 ~/.vscode/c_cpp_properties.json 里粘贴这个完整配置,如果没有自行创建这个文件

复制代码
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/bionic/libc/include",
                "${workspaceFolder}/system/core/include",
                "${workspaceFolder}/frameworks/native/include",
                "${workspaceFolder}/frameworks/base/include",
                "${workspaceFolder}/hardware/libhardware/include",
                "${workspaceFolder}/external/**",
                "${workspaceFolder}/libnativehelper/include",
                "${workspaceFolder}/system/core/libcutils/include",
                "${workspaceFolder}/system/core/libutils/include",
                "${workspaceFolder}/frameworks/native/libs/binder/include"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

注意

如果配置都基本一样的情况,你的跳转或者搜索还是慢

  1. 看看配置的json 文件格式是否有误,例如结尾不能加逗号等等(可以发送给AI 帮你审查)
  2. 看看插件是否安装上,问ai 它会推荐对应的插件给你的。下面插件截图供参考,说不定过段时间就改名了,或者有其他更好用的插件,起码目前来说我的搜索慢,点击接口跳转慢或者无法跳转问题都得到解决了。
相关推荐
-SOLO-6 小时前
Android Event 日志完全指南
android
壮哥_icon7 小时前
【Android 系统开发】从掉帧卡顿到丝滑:高频硬件中断(IRQ)的 CPU 亲和性性能优化实战
android·性能优化
千里马学框架7 小时前
Android Framework 新手学习踩坑建议指南
android·智能手机·性能优化·framework·aaos·车载开发·系统工程师
我命由我123459 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
狂奔solar10 小时前
ARMA 模型:从白噪声到万能逼近器
android
渣渣灰飞10 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第二章:RBAC 权限系统设计
android·学习·mysql
love530love10 小时前
将 ChatCut MCP 插件从 Codex 桌面应用移植到 WorkBuddy —— 完整适配实录
ide·人工智能·windows·视频剪辑·ai agent
qq_4228286210 小时前
android 图形学之图层数据送显及合成图层(七)
android
MiyamuraMiyako12 小时前
Compose:从自动滚动到双锚点 LazyLayout
android·android jetpack
小李不困还能学13 小时前
PyCharm下载安装与配置教程
ide·python·pycharm