AS Build Output 乱码

本文提供了一种解决Android Studio中Build Output栏汉字乱码的方法,通过在EditCustomVMOptions中添加-Dfile.encoding=UTF-8参数并重启,可有效解决乱码问题。

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

Android Studio Build Output 栏内汉字出现乱码的解决方案

就是图中红框内显示的毛病,Build Output栏中的汉字出现了乱码,其它地方都没有乱码。
此方案仅适用于图片中出现的乱码。
百度上的消除乱码的方案都试了一遍,一律没用,最后在必问上问的大神才解决,在这里感谢 “技术宅星云” 大神搭救。

解决方案如下:
1、打开Android Studio
2、打开Configure —> Edit Custom VM Options
3、添加如下内容后重启Android Studio

-Dfile.encoding=UTF-8
1
大神给出方案后,我找了半天没找到大神说的添加代码的地方。
下面给出一个相对方便的方案,还是上面的方案,就是操作相对方便,就是使用AS内自带的全局搜索功能。

点击这个 “放大镜” 或 “双击Shift” 打开这个对话框,并在搜索框内输入 Edit Custom VM Options

点击第一个选项打开一个文件 ,并添加一行代码,并编译一下,必须编译(原因看结尾),如下图

最后重启Android Studio,这时乱码消失,显示正常汉字,如下图

这个修改可能会导致AS无法启动,我在添加完那一行代码后没有编译,只是保存并关闭AS,再重新打开就包错了,AS无法正常打开。根据网上资料显示,就是我们操作那个文件导致的,我们得在C盘 用户 文件夹搜索“studio64.exe.vmoptions”这个文件,并文本打开,删除我们刚刚添加的那一行代码,这是AS就又能正常打开了。这应该就是在AS中添加完那一行代码没有编译导致的,具体什么原因不知道。
————————————————
版权声明:本文为优快云博主「沃克哈德丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/zhang5690800/article/details/104502632

### 如何在 SourceInsight 中编译 Keil 工程 为了实现 SourceInsight 和 Keil 的联合使用,可以通过配置让 SourceInsight 调用 Keil 进行编译操作。以下是详细的说明: #### 1. 创建 SourceInsight 工程并关联 Keil 文件 当创建一个新的 SourceInsight 工程时,需要确保正确指定 Keil 工程所在的路径以及 `.uvprojx` 文件的位置。这是因为 `.uvprojx` 是 Keil 工程的核心文件,包含了所有的编译设置和依赖关系[^2]。 ```plaintext File -> Open Project/Solution... ``` 选择 Keil 工程所在目录下的 `.uvprojx` 文件作为基础导入到 SourceInsight 中。这样可以确保所有相关的代码文件被准确加载到 SourceInsight 工程中[^1]。 --- #### 2. 配置外部工具以调用 Keil 编译器 SourceInsight 提供了强大的扩展功能,允许用户通过 `Tools -> External Tools...` 来定义外部命令。具体步骤如下: - 打开菜单栏中的 **Tools -> External Tools...** - 添加一条新的外部工具条目: - **Title**: 命名为 “Compile with Keil” - **Command**: 输入 Keil 安装目录下对应的编译脚本路径(通常是 `UV4.exe`) ```plaintext "C:\Keil_v5\UV4.exe" ``` - **Arguments**: 使用以下参数来启动无界面模式的编译过程 ```plaintext -b "$(ProjectPath)\Your_Project_Name.uvprojx" -j0 ``` 参数解释: - `-b`: 表示批量构建 (Batch Build)。 - `-j0`: 启动多线程加速编译。 - `"$(ProjectPath)"`: 动态替换为当前项目的根目录。 - **Initial Directory**: 设置初始工作目录为 Keil 工程所在的路径。 ```plaintext $(ProjectPath) ``` 完成上述配置后保存,并测试运行一次该工具条目。如果一切正常,则可以在 SourceInsight 中直接触发 Keil 的编译流程[^3]。 --- #### 3. 解决可能遇到的问题 ##### a. 中文乱码问题 由于不同软件之间可能存在编码差异,建议统一采用 UTF-8 编码格式处理源文件。对于已经存在的中文字符乱码情况,可尝试调整 Keil 的编码选项至 UTF-8 并重新保存文件后再同步更新到 SourceInsight 中[^5]。 ##### b. 符号解析错误 有时即使成功完成了编译,但在 SourceInsight 内浏览某些函数或变量时仍会提示未找到声明等问题。这通常是因为符号数据库尚未完全刷新所致。解决方法是手动执行以下操作之一: - 清理整个工程 (`Project -> Rebuild Symbol Database`); - 或者单独清理特定文件 (`Edit -> File Properties -> Clear Symbols and Reload`)。 --- #### 示例代码片段 下面展示一段简单的 Python 脚本来辅助自动化部分重复性的配置任务: ```python import os import subprocess def compile_with_keil(project_path, uvprojx_file): """调用 UV4.exe 对指定的 .uvprojx 文件进行批量化编译""" keil_executable = r"C:\Keil_v5\UV4.exe" command = f'"{keil_executable}" -b "{os.path.join(project_path, uvprojx_file)}" -j0' try: result = subprocess.run(command, shell=True, check=True, text=True, capture_output=True) print("Build Output:", result.stdout.strip()) except subprocess.CalledProcessError as e: print(f"Compilation failed: {e.stderr}") # 测试调用 compile_with_keil(r"C:\MyProjects", "TestProject.uvprojx") ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值