制作共存版Android Opera Mini 6.0 – 技术文
感谢@wzyboy关于制作om4.0共存的几乎独家的教程,感谢@mcxiaoke的共存版5.0
。
之前与@wzyboy以及另外多人考虑过opera mini 6.0 for Android的共存问题。@wzyboy的成品是4.0版但是依照他的修改方法在6.0上工作量极大(6.0包名com.opera.mini.android不存在容易修改的字段)而且似乎会改坏。。当时的结论是6.0不适合那样改(见其blog上的评论)。。但是4.0有显而易见的缺点。4.0几乎就是把Java版直接搬到了android上省掉了模拟器而已。缺乏二指缩放等功能而且在高分辨率的DHD,Desire,Nexus One之类机器上状态栏显示效果极其杯具。而且@wzyboy使用国际版改成中国版(其实他可以直接改中国版)
在我着手修改的时候发现了@mcxiaoke的5.0共存于是拆开来跟原版做compare。另外感谢@mcxiaoke指教。由于没有在线的缘故修改的时候仍未得到@wzyboy的回复。
好吧我假装所有人都知道为什么需要共存。你可以同时安装一个穿越版一个国内版(因为国内版访问国内网络比较快)。默认状况下由于package名相同安装一个会覆盖另一个(虽然理论上还是可以每次切换的时候安装一下apk。。。)http://wzyboy.im/post/635.html(wzyboy的教程以及为什么要共存以及穿越版)
你需要JavaRuntimeEvironment,Notepad++,apktool,autosign以及为他们添加合适的命令行path。
切换到适当目录运行apktool d operamini.apk(假设下载到的中国版为operamini.apk)。会生成operamini/文件夹。
打开AndroidManifest.xml把包名package=”com.opera.mini.android”改成package=”opera.mini”…这个时候顺便可以删掉一些权限。
然后用NPP的find in files功能,查找目录下所有*.smali, *.xml把com/opera/mini/android/Browser改成opera/mini/Browser。并把Browser.smali从/operamini/smali/com/opera/mini/android移动到/operamini/smali/opera/mini
删掉原来的operamini.apk
然后apktool b operamini重新编译回去。如果不爽两个一模一样可以换图标,图标在:OperaMini\res\drawable\app_icon.png中只要替换就好。我就替换成了:
![]()
大概是把本来的图标用老照片滤镜然后再叠上去一个Judgement的半透明图加一个长城。。。右边灰度版是@wzyboy做的。把生成的operamini.apk改为zip名,并确认其为目录下唯一zip文件,运行autosign脚本签名。之后再次改名回operamini.apk。
然后把那个apk用adb install什么之类的安装进Android就可以了。
很不错~ OM4 以上的版本我本身就不是很喜欢,而且加上它变得更加复杂了,所以我没有试过去修改。但是你这教程做到了,很强大~
其实从 OM5 正式版开始,中国版与国际版的 apk 文件是一模一样的了,只是在第一次运行的时候会自动判断 IP 从而决定“变身”成中国版还是国际版。这种用别人改好的版本做共存版的思路很好~
另外修正一下小 bug:是 4.2 不是 4.0 啦……其实我觉得 4.2 在全键盘的 HTC Vision (就是 Desire Z)上表现不错啊~挺好的,就是稍微有一点丑……