发布日期:2025-10-05 16:18浏览次数:
昨儿个有个粉丝私信问我,说Python能不能搞安卓app开发。我一拍大腿,这不巧了吗?上周刚折腾完这事儿!今天就唠唠我踩的坑和试出来的5个土方法,保管你听完就能上手折腾。
我头铁直接冲了Kivy官网,照着文档pip install kivy一通敲。装完兴冲冲写了个按钮程序:
可打包成apk差点要了我老命。折腾半天Buildozer,虚拟机里装Linux,buildozer init生成配置文件,改改改然后buildozer android debug开搞。等编译那半个钟头我泡面都吃完了,真生成了apk!就是安装包大的能塞进一头猪——空项目就30多兆。
听说BeeWare对新手友赶紧pip install briefcase。创建项目时倒是爽快:
本地运行挺顺溜,一到打包环节直接卡死。briefcase create android死活下载不了gradle,爬梯子改hosts都试过,在凌晨三点网速快时才下载成功。生成的apk倒是比Kivy小点,但打开闪退!查日志发现是缺了个支持库,得手动往项目里塞jar包...
听说能在Android Studio里嵌Python,立马下了最新版IDE。操作骚得很:
降级JDK重来,终于能在MainActivity里写:
*().getModule("hello").callAttr("say_hi")
配套的python文件放assets里,点按钮真弹出Toast了!缺点是每次改Python代码都要重新打包APK,调试得疯。
回头又试了Python-for-Android。命令行敲:
配置NDK_PATH折腾半小时,终于开始编译。眼瞅着进度条到头了,哐当提示SDL2库找不到!翻文档发现要手动下载SDL2放进指定目录,等真正跑起来天都亮了。
急眼了,干脆用Python写网页!Flask搭个本地服务:
@*('/')
def home():
return "<button onclick=alert('嘿')>戳我</button>"
再用Buildozer把整个网页打包成WebView应用。这招最省事,但按钮点了根本没反应!查日志发现是WebView默认禁了JavaScript,得在代码里手动开启。改完总算能跑,就是交互像八十岁老头——慢半拍。
折腾完这五套组合拳,我算是整明白了:Python确实能搞安卓开发,但就像用筷子吃牛排——不是不行,就是费劲。真要正经做app,还不如直接学Java。不过临时凑合个工具,这些土法子还能顶一顶!