You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Buildozer打包含deep-translator的Python代码为APK时崩溃问题求助

Android下Deep-Translator库启动崩溃问题排查

我正在开发一款Android应用,采用Python 3.11结合deep-translator库编写代码,通过Buildozer工具将其打包为APK后,在搭载Android 13系统的三星Galaxy A71真机上测试时,应用启动即崩溃。移除代码中的from deep_translator import GoogleTranslator语句后,应用可正常运行。

复现代码

main.py

from kivy.core.window import Window
from kivy.app import App

from deep_translator import GoogleTranslator

kivy.require('2.3.0')

class MyApp(App):
    def build(self):
        pass

if __name__ == '__main__':
    MyApp().run()

buildozer.spec

title = Excel File Translator
package.name = excelfiletranslator
package.domain = com.astrobalyka.excelfiletranslator
source.dir = .
source.include_exts = py,png,jpg,kv,atlas
version = 0.1
requirements = python3,kivy==2.3.0,deep-translator
orientation = portrait
osx.python_version = 3
osx.kivy_version = 2.3.0
fullscreen = 0
android.permissions = android.permission.INTERNET,android.permission.ACCESS_NETWORK_STATE

咨询问题

  1. 该deep-translator库是否可在此场景下正常使用?
  2. 是否必须更换其他翻译库?
  3. deep-translator库无法运行的原因是什么?

问题解答

  1. deep-translator库在该场景下的可用性
    deep-translator并非完全不能在Android+Buildozer环境中使用,但当前你的配置下无法直接正常运行,需要解决依赖适配或初始化逻辑的问题才能正常工作。

  2. 是否必须更换翻译库
    不需要必须更换。如果能定位并修复deep-translator的适配问题,依然可以继续使用;如果短期内无法解决,选择更适配Kivy/Buildozer生态的方案(比如直接用requests调用Google翻译公开API,或者使用经过移动端验证的翻译库)会更高效。

  3. 崩溃原因分析

  • 依赖兼容问题:deep-translator依赖的部分Python库(如requests的底层依赖、加密相关库)在Buildozer打包时未被正确引入,或者这些库在Android的Python运行环境中存在兼容性问题,导致导入时出错。
  • 环境初始化差异:Android的Python运行环境和桌面Python有差异,deep-translator导入时可能触发了某些桌面环境下正常但Android环境下无法执行的逻辑(比如加载系统证书、初始化网络配置),引发未捕获异常。
  • 隐式初始化触发崩溃:导入GoogleTranslator时,库可能会执行隐式的初始化操作(比如预加载翻译服务配置、尝试建立网络连接),而此时Android应用的网络权限或系统状态还未就绪,直接导致启动崩溃。

内容的提问来源于stack exchange,提问作者KBill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 06:59:56