Android 1.4.0
Android for VS Code扩展:预览版功能详解与使用指南
介绍
Android for VS Code扩展的预览版为开发者提供了一个便捷的工具,使您能够直接在VS Code环境中安装、启动和调试Android应用。本文将详细介绍扩展的功能、要求、限制以及如何配置和使用。
最新更新
- Java Intellisense for Android现已进入Beta测试阶段。
功能
- 逐行代码调试
- 设置断点
- 变量检查与修改
- 查看Logcat(命令面板 -> Android: 查看Logcat)
- 异常断点
- 步入Android源码调试
要求
使用此扩展需要安装Android SDK平台工具。扩展通过ADB(Android Debug Bridge)接口与您的设备进行通信。
无需安装Android Studio,但如果您已安装,请确保在使用此扩展时没有活动的Android Studio实例,以避免ADB冲突。
限制
- 作为预览版,可能会出现意料之外的情况。请在GitHub上报告任何问题。
- 此扩展不支持构建您的应用。如果使用gradle(或Android Studio),您可以通过命令行使用./gradlew assembleDebug构建应用,或配置VSCode构建任务来运行命令(详见下文)。
必须使用gradle或其他构建流程来创建APK。构建完成后,扩展可以部署并启动您的应用,允许您以常规方式进行调试。请参阅下文,了解如何配置VSCode任务以在启动调试会话前自动构建应用。
- 一些调试器选项尚未实现。您无法设置条件断点,且监视表达式必须是简单变量。
- 如果您需要尚未实现的必备功能,请在GitHub上告知我们。
扩展设置
此扩展通过在launch.json中创建新的Android配置来调试您的应用。以下是用于配置调试器的设置:
{
"version": "0.2.0",
"configurations": [
{
"type": "android",
"request": "launch",
"name": "Launch App",
"appSrcRoot": "${workspaceRoot}/app/src/main",
"apkFile": "${workspaceRoot}/app/build/outputs/apk/app-debug.apk",
"adbSocket": "localhost:5037",
"autoStartADB": true,
"staleBuild": "warn",
"targetDevice": "",
"manifestFile": "${workspaceRoot}/app/src/main/AndroidManifest.xml",
"pmInstallArgs": ["-r"],
"amStartArgs": [
"-D",
"--activity-brought-to-front",
"-a android.intent.action.MAIN",
"-c android.intent.category.LAUNCHER",
"-n package.name/launch.activity"
],
"launchActivity": ".MainActivity",
"postLaunchPause": 1000,
"trace": false
}
]
}
自动构建应用
此扩展不会构建您的应用。如果您希望每次启动调试会话时都运行构建,可以在launch.json配置中添加preLaunchTask选项来调用构建任务。
.vscode/launch.json
在launch配置中添加preLaunchTask项:
{
"version": "0.2.0",
"configurations": [
{
"type": "android",
"request": "launch",
"name": "App Build & Launch",
"preLaunchTask": "run gradle",
...
}
]
}
添加一个新任务来运行构建命令:
.vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "run gradle",
"type": "shell",
"command": "${workspaceFolder}/gradlew",
"args": [
"assembleDebug"
],
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": false
},
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Java Intellisense
Java Intellisense支持目前处于Beta阶段,欢迎提供反馈。
要使用Java Intellisense,请确保在设置中启用该选项(扩展 -> Android -> 启用Android的Java语言支持),并在编辑Java源文件时按ctrl/cmd-space。
您可以在VSCode网站上了解更多关于代码补全的信息,并在wiki中了解如何配置代码补全以适应您的Android项目。
表达式评估
可以在监视和REPL表达式中附加格式说明符,以更改评估结果的显示方式。格式说明符的语法与Visual Studio相同。示例请参阅https://docs.microsoft.com/en-us/visualstudio/debugger/format-specifiers-in-cpp。
123 123
123,x 0x0000007b
123,xb 0000007b
123,X 0x0000007B
123,o 000000000173
123,b 0b00000000000000000000000001111011
123,bb 00000000000000000000000001111011
123,c '{'
"one\ntwo" "one\ntwo"
"one\ntwo",sb one\ntwo
"one\ntwo",! one
two
您还可以对对象和数组实例应用格式说明符来格式化字段和元素:
arr,x int[3]
[0] 0x00000001
[1] 0x00000002
[1] 0x00000003
注意:不支持浮点值(e/g)和字符串编码转换(s8/su/s32)的格式说明符。
支持项目
Android开发者扩展是一个完全免费且完全开源的项目。如果您发现此扩展有用,可以通过购买咖啡来支持它。
如果您使用ApplePay或Google Pay,可以用手机摄像头扫描以下代码:
每一杯咖啡都意义非凡,感谢您的支持。
问题/疑问
如果遇到任何问题,请在GitHub上告诉我们或通过Twitter联系我。
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- MySQL数据管理之备份恢复案例解析视频教程
- 《MySQL数据管理之备份恢复案例解析视频教程》MySQL是一个开放源码的小型关联式数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
- 163次学习
-
- MySQL索引优化解决方案
- 本套课程是根据MySQL索引的设计理念与数据结构、索引使用场景、索引分类、索引运用场景、索引性能分析、查询优化、MySQL索引的慢查询等组成,主要讲述了MySQL索引优化的解决方案,非常适合有MySQL使用基础或者有一定工作经验的同学。课程讲解了解决大数量查询慢的问题、如何编写一个高效的SQL、查询语句应该如何优化、索引的实现原理是什么、索引又应该如何优化...等诸多SQL索引优化的难点和面试点。
- 182次学习
-
- 极客学院Docker视频教程
- Docker是PaaS提供商dotCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。Docker自2013年以来非常火热,无论是从github上的代码活跃度,还是各大厂商的支持,都使Docker成为了时下最受关注的技术,甚至微软都声称在下一代WindowsServer中集成对Docker的支持。所以我们收集了《极客学院Docke
- 243次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 128次学习
-
- JavaScript极速入门
- 本套课程将帮助大家迅速掌握JavaScript这门高端的、动态的、弱类型编程语言。知识点简单明了,让你学习0压力,适合新手观看学习......
- 431次学习
-
- Golangmap实践及实现原理解析
- 2022-12-28 505浏览
-
- GoLand调式动态执行代码
- 2023-01-13 502浏览
-
- 试了下Golang实现try catch的方法
- 2022-12-27 502浏览
-
- 用Nginx反向代理部署go写的网站。
- 2023-01-17 502浏览
-
- MySQL主从切换的超详细步骤
- 2023-01-01 501浏览
-
- Mysql-普通索引的 change buffer
- 2023-01-25 501浏览