解决 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 它会推荐对应的插件给你的。下面插件截图供参考,说不定过段时间就改名了,或者有其他更好用的插件,起码目前来说我的搜索慢,点击接口跳转慢或者无法跳转问题都得到解决了。
相关推荐
golang学习记4 小时前
VSCode AI新特性:HydraFusion来了:系统会自己组队干活
ide·人工智能·vscode
五彩小白8 小时前
自回归和上下文
android
事圆则缓10 小时前
Android 多渠道打包实战:Product Flavors、签名、AAB 与发包校验
android
树下困觉眯13 小时前
View绘制流程学习--获取WindowManager的三种方式
android·系统架构·view design
文祐14 小时前
下载Visual Studio 2017 Build Tools version 15.9
ide·visual studio
vilya14 小时前
我怎么给手机 GUI Agent 做双通道感知:无障碍树为主,投屏像素兜底
android·人工智能
李子红了时15 小时前
阿狸舞台APP(安卓端手机EncFS解密+压缩包解压+视频播放)
android·音视频
事圆则缓15 小时前
Android 使用 Jenkins 实现 CI/CD,并用 SonarQube 建立质量门禁
android·ci/cd·jenkins
golang学习记15 小时前
Jetbrains 正式官宣:全新AI IDE正式发布!
ide·人工智能·intellij-idea·air
其实防守也摸鱼15 小时前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
android·数据库·学习·ai·oracle·自动化