github上开源项目MAME4all可将MAME模拟器运行在iOS和Android上,但由于年代比较久远(7-8年前的项目),代码clone下来基本无法编译。
原项目虽然在github上开源,但从目录结构上可看出原项目是svn做的版本控制,这也很正常,毕竟那时github还没流行起来。首先把代码clone下来,为了方便记录升级过程,并且方便读者clone,笔者将源项目分割。基于最后一个tag “MAME4droid 1.9.2 (0.139u1)”来修改,代码已上到我的github MAME4Mobile。本文将基于此来修改编译
环境:
Mac OS X 10.14.4
Android Studio 3.5.2
NDK 17.2.4988734
一、导入Android Studio
原android项目应该是基于Eclipse。用Android Studio菜单的File -> New -> Import project ... 导入为AS的工程,最终工程笔者已经上到github
二、编译libMAME4droid
此步骤比较麻烦,主要工作都集中于此步。
1. 配置makefile
此处历经周折,
NDK 笔者使用NDK 17.2.4988734,原因是 安卓自NDK-r18起移除了gcc, 并完全删除了gnustl、gabi++ 和 stlport。而模拟器源码使用了stl。
具体配置详见github makefile 文件
2. 编译
(建议直接在我的git根目录下执行make,这里编译一次要很久,而且有时遇到修改,make命令不能中途自动更新obj文件,导致重新编