让Milestone的程序可以使用Google map API
Milestone的中文版本一直有 Google应用以外的程序无法使用Google map API的问题,在前面转载的文章中提到的解决方案就是刷欧版的ROM,这样做确实可行,但是一个纯英文的系统怎么用都是不爽的。试了很久,终于刷出了一个基本上是中文的系统,而且支持Google map API。
在Android中,除了Android runtime中的核心库以外,基本所有的Java类库都在framework中,对应的手机中的文件夹就是/system/framework,由于本人是个菜鸟而且没有太多的时间细细研究,只能采用覆盖的方法解决。步骤如下。
1.在下面的链接中下载36底包MileStone Android 2.1 UK_02_36,以及终结版ROM
http://www.itfunz.com/viewthread.php?tid=28131&extra=&page=1
2.刷36的底包,MileStone Android 2.1 UK_02_36。刷机教程可以参照:http://www.itfunz.com/thread-12821-1-1.html
3.此时系统是原版的欧版系统,然后获取root权限。
4.安装一个文件管理器,将/system/framework整个文件夹copy到sd卡上,然后在copy到电脑上。顺带将/system/app/browser.apk复制出来(因为中文版的浏览器会有问题,所以使用原版的浏览器)。
5.将终结版中的itfunzupdate文件夹和update.zip拷贝到SD卡根目录。
6.用之前copy出来的framework文件夹,覆盖sd卡上的itfunzupdate/system/framework。用复制出来的browser.apk覆盖itfunzupdate/system/app/browser.apk。
7.进入recovery,wipe一下。
8.然后update。
然后就大功告成~不过发现加锁解锁开关机的界面还是英文的,不过已经很happy了。尝试一下用google map api的软件吧。
比较了一下终结者原包中的framework和欧版原包的framework文件夹,发现只有少数不同之处,二者都有google map api的jar包。估计Google map api的根本问题就在其中,可能在中文的系统中没有注册吧,还需各种大牛解答。
PS:之前一直想把google map api的jar包当做第三方包加到自己的工程中,但是一直失败了,就算use libraries也不能将它成功打包进apk中,只能不停地刷系统。milestone傻×啊!人家SAMSUNG i9000怎么就带了Google API!
======================
后话,目前itfunz上的2.2.1的中文rom是支持google api的,因为他们改了以前的直接替换framework的做法~~很赞啊~