Android 13 AOSP 内置 NekoTTS 中文免费商用 TTS 完整流程

一、前置说明

  • NekoTTS:MIT 协议,免费可商用,离线中文 TTS,标准 Android TTS 引擎接口
  • 环境:Android 13 AOSP 源码环境,Linux 编译环境
  • 目标:将 NekoTTS 预置为系统应用,并设为系统默认 TTS 引擎

二、下载 NekoTTS APK

  1. 进入 NekoTTS GitHub 发布页https://github.com/siva-sub/NekoTTS/releases
  2. 下载最新稳定版 APK(文件名类似 app-universal-release.apk
  3. 重命名为 NekoTTS.apk

三、在 AOSP 中创建应用目录

  1. 进入 AOSP 预置应用目录,执行命令 bash

    运行

    复制代码
    cd 你的AOSP根目录/vendor/你的产品目录/apps/
    mkdir -p NekoTTS
    cd NekoTTS
  2. 将下载好的 NekoTTS.apk 放入此目录

四、创建 Android.bp 编译脚本

NekoTTS 目录下新建 Android.bp,内容如下:

json

复制代码
android_app_import {
    name: "NekoTTS",
    apk: "NekoTTS.apk",
    // 预置到 product 分区,商用合规
    product_specific: true,
    // 系统应用优先级
    privileged: true,
    // 兼容系统 API
    platform_apis: true,
    // 启用 dex 优化
    dex_preopt: {
        enabled: true,
    },
}

五、修改 device.mk 加入编译

打开你的设备配置文件device/厂商名/产品名/device.mk添加以下内容:

makefile

复制代码
# 编译打包 NekoTTS 到系统
PRODUCT_PACKAGES += NekoTTS

# 系统默认 TTS 引擎包名
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
    ro.tts.default.engine=com.sivasubramanian.neko.tts

# 确保系统 TTS 服务启用
PRODUCT_PACKAGES += TtsService

六、配置系统默认 TTS 引擎(永久生效)

  1. 打开文件 plaintext

    复制代码
    frameworks/base/packages/SettingsProvider/res/values/defaults.xml
  2. 添加 / 修改以下配置 xml

    复制代码
    <!-- 默认 TTS 引擎 -->
    <string name="def_tts_engine" translatable="false">com.sivasubramanian.neko.tts</string>
    <!-- 默认语言 zh-CN -->
    <string name="def_tts_default_lang" translatable="false">zh-CN</string>

七、添加默认权限(免用户授权)

新建 / 打开文件:vendor/你的产品目录/etc/default-permissions/neko_tts_permissions.xml内容:

xml

复制代码
<?xml version="1.0" encoding="utf-8"?>
<permissions>
    <privapp-permissions package="com.sivasubramanian.neko.tts">
        <permission name="android.permission.INTERNET"/>
        <permission name="android.permission.READ_EXTERNAL_STORAGE"/>
        <permission name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    </privapp-permissions>

    <default-access for-package="com.sivasubramanian.neko.tts"
        permission="android.permission.RECORD_AUDIO"
        granted="true"/>
</permissions>

并在 device.mk 中加入:

makefile

复制代码
PRODUCT_COPY_FILES += \
    vendor/你的产品目录/etc/default-permissions/neko_tts_permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/neko_tts_permissions.xml

八、编译系统镜像

执行编译命令:

bash

运行

复制代码
source build/envsetup.sh
lunch 你的产品型号
make installclean
make -j$(nproc)

九、刷机验证

  1. 刷入编译好的 system + product 镜像
  2. 进入系统查看设置:设置 → 无障碍 → 文字转语音输出 → 默认引擎为 NekoTTS
  3. 中文离线合成直接可用,无需下载语音包

十、测试 TTS 是否正常

使用简单 APP 代码测试:

java

运行

复制代码
TextToSpeech tts = new TextToSpeech(this, status -> {
    if (status == TextToSpeech.SUCCESS) {
        // 设置中文
        tts.setLanguage(Locale.SIMPLIFIED_CHINESE);
        // 播放语音
        tts.speak("你好,这是 Android 13 内置的 NekoTTS 中文语音", TextToSpeech.QUEUE_FLUSH, null);
    }
});

十一、商用合规说明

  • NekoTTS 采用 MIT 开源协议
  • 可免费商用、闭源分发、无专利风险
  • 无需开源固件源码,无 GPL 传染风险
  • 内置时保留原作者声明即可(APK 内部已包含)
相关推荐
EQ-雪梨蛋花汤11 小时前
【Sceneform-EQR】让Android 原生 3D开发更容易
android·3d
三少爷的鞋12 小时前
Android 架构指南之Data 层不要再暴露 start/stop 了:用 Flow 接管生命周期
android
李艺为12 小时前
Android 14 U盘无法正常显示中文盘符(卷标)问题解决
android
陆业聪12 小时前
Agent智能体:让AI自己调API干活——从Android Service到AI Agent的思维跃迁
android·人工智能·aigc
莞凰21 小时前
昇腾CANN的“灵脉根基“:Runtime仓库探秘
android·人工智能·transformer
NiceCloud喜云1 天前
Claude Files API 深入:从上传、复用到配额管理的工程化指南
android·java·数据库·人工智能·python·json·飞书
ujainu1 天前
CANN pto-isa:虚拟指令集如何连接编译与执行
android·ascend
赏金术士1 天前
第六章:UI组件与Material3主题
android·ui·kotlin·compose
TechMerger1 天前
Android 17 重磅重构!服役 20 年的 MessageQueue 迎来无锁改造,卡顿大幅优化!
android·性能优化
yuhuofei20211 天前
【Python入门】Python中字符串相关拓展
android·java·python