【解决】Android Studio编译APK中文乱码问题全攻略

Android Studio中APK中文乱码问题通常有几种解决方案。根据你的路径信息,这里是完整的解决方法:

1. 立即解决方案

方法一:修改gradle配置(推荐)

app/build.gradle 文件中添加以下配置:

gradle

复制代码
android {
    compileOptions {
        encoding "UTF-8"
    }
    
    tasks.withType(JavaCompile) {
        options.encoding = "UTF-8"
    }
}

方法二:全局配置编码

在项目根目录的 gradle.properties 文件中添加:

properties

复制代码
org.gradle.jvmargs=-Dfile.encoding=UTF-8
android.useAndroidX=true
kotlin.code.style=official

2. Android Studio 设置

修改IDE编码设置:

  1. File → Settings (或 Preferences → Settings

  2. Editor → File Encodings

  3. 设置以下项为 UTF-8

    • Global Encoding

    • Project Encoding

    • Default encoding for properties files

修改VM选项:

  1. 找到 studio64.exe.vmoptions 文件

    • Windows: C:\Users\[用户名]\AppData\Roaming\Google\AndroidStudio[版本]\

    • Mac: ~/Library/Preferences/AndroidStudio[版本]/

  2. 或者打开studio,Help--Edit Custom VM Options即可创建文件

  3. 添加:-Dfile.encoding=UTF-8

3. 清理和重建

bash

复制代码
# 清理项目
./gradlew clean

# 清理构建缓存
./gradlew cleanBuildCache

# 重新构建
./gradlew assembleDebug

或直接在Android Studio中:

  • Build → Clean Project

  • Build → Rebuild Project

4. 特定文件乱码解决

如果strings.xml乱码:

xml

复制代码
<!-- 确保文件编码为UTF-8 -->
<string name="app_name">中文名称</string>

检查文件编码:

  1. 右键点击文件

  2. File Properties → Text file encoding

  3. 选择 UTF-8

5. 命令行构建时指定编码

bash

复制代码
# Windows
chcp 65001
./gradlew assembleDebug -Dfile.encoding=UTF-8

# Linux/Mac
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
./gradlew assembleDebug

6. 检查依赖库编码

如果第三方库导致乱码,在 app/build.gradle 中:

gradle

复制代码
dependencies {
    // 确保使用UTF-8编码的库版本
    implementation 'com.example:library:version' {
        exclude group: 'com.example', module: 'problem-module'
    }
}

7. 终极解决方案

如果以上方法都无效,可以尝试:

  1. 创建新项目,逐步迁移代码

  2. 重命名项目目录(有时候路径中有特殊字符会导致问题)

  3. 更新Android Studio和Gradle插件

验证解决

构建完成后,使用以下命令验证APK中的中文:

bash

复制代码
# 解压APK查看资源
apktool d app-debug.apk

# 或直接查看strings.xml
unzip -p app-debug.apk res/values/strings.xml

预防措施

  1. 统一团队编码:确保所有开发者使用UTF-8编码

  2. 版本控制配置 :在.gitattributes中添加:

    text

    复制代码
    *.xml text encoding=utf-8
    *.gradle text encoding=utf-8
    *.java text encoding=utf-8
    *.kt text encoding=utf-8
  3. IDE配置同步:使用Settings Repository同步团队配置

选择最适合你情况的方案开始尝试,通常方法一 + 清理重建能解决大部分问题。

相关推荐
粤M温同学11 小时前
Android Studio 中安装 CodeBuddy AI助手
android·ide·android studio
阿拉斯攀登13 小时前
【RK3576 安卓 JNI/NDK 系列 07】RK3576 实战(一):JNI 调用 GPIO 驱动点亮 LED
android studio·瑞芯微·嵌入式驱动·安卓驱动·rk3576 gpio控制
阿拉斯攀登2 天前
【RK3576 安卓 JNI/NDK 系列 02】保姆级环境搭建,从 0 到跑通第一个 JNI 程序
android studio·瑞芯微·嵌入式驱动·安卓驱动·安卓ndk环境搭建 jni入门
我命由我123453 天前
Android 开发 - UriMatcher(一个 URI 分类器)
android·java·java-ee·kotlin·android studio·android-studio·android runtime
我命由我123453 天前
Android 多进程开发 - FileDescriptor、Uri、AIDL 接口定义不能抛出异常
android·java·java-ee·kotlin·android studio·android-studio·android runtime
不会写代码的猴子4 天前
Android17版本更新预览
android·android studio
曾经我也有梦想4 天前
Day6 Android启动过程
android studio
71-35 天前
Android studio中真机操作
android·笔记·学习·其他·android studio
71-35 天前
Android studio的安装下载(Android Studio Panda 1 | 2025.3.1 Patch 1 )
android·笔记·学习·android studio
萝卜大战僵尸5 天前
Android Studio
android·ide·android studio