贱贱贱贱贱贱贱贱...吧 关注:57贴子:398
  • 11回复贴,共1

【乐蛙移植教程】

只看楼主收藏回复

1分别解压两包,删除自己机型ROM中的'/system/app', '/system/framework' 和 '/system/media'三个目录,复制乐蛙ROM中的'/system/app', '/system/framework'和 '/system/media'三个目录到自己机型的ROM中。。。
2进入自己机型的/system/bin目录,先把所有的bin目录下面的文件复制到乐蛙ROM相同的目录,覆盖,然后再把乐蛙ROM的bin目录下面的文件拷贝到自己机型相同目录下面,这么做是为了把乐蛙ROM中bin目录下面多出来的文件全部添加到自己机型的ROM中。。。
3进入自己机型的'/system/etc' 目录,复制所有的文件(不包括文件夹)到乐蛙的相同目录,然后把乐蛙ROM中的整个etc中所有的文件(不包括文件夹)复制到自己机型的ROM中,覆盖;这一步操作同样是替换所有已经存在的文件和添加缺失的文件。。。
4进入自己机型的'/system/etc/init.d'目录,复制所有乐蛙OS的文件到自己的相同目录,覆盖
5进入自己机型ROM的/system/etc/permissions' 目录,复制自己机型ROM的/system/etc/permissions' 目录下所有文件到乐蛙相同目录,然后重新把乐蛙的'/system/etc/permissions' 目录整个复制到自己机型的的ROM,覆盖


来自Android客户端1楼2014-02-13 19:07回复
    6进入自己机型的的'/system/lib'目录,复制自己机型的ROM的所有的后缀名是.so的文件到乐蛙ROM的相同目录,然后重新把乐蛙的lib目录整个复制到自己机型的相同目录,覆盖。
    7进入自己机型的/system/xbin目录,复制自己机型的目录下所有的文件到乐蛙ROM,然后再把乐蛙的xbin目录整个复制到自己机型的目录下面,覆盖。
    8用NotePad++打开两个ROM的build.prop,自己比较一下,一般对自己机型的build.prop进行操作 在 'ro.cm.device=你的设备名'这句下面添加下面的两行
    ro.lewa.version=你的设备名【这里就是写你移植的机型】
    ro.lewa.device=你的设备名【同上】
    在'ro.com.android.dataroaming='这句下面添加以下的语句
    ro.compcache.default=0 ro.lewa.swapper.part_path=/dev/block/mmcblk1p3
    ro.lewa.swapper.flash_swappiness=99 ro.lewa.swapper.sd_swappiness=60
    ro.error.receiver.system.apps=com.lewa.fc
    ro.error.receiver.default=com.lewa.fc
    persist.sys.notif-speaker=1
    persist.sys.ring-speaker=1
    persist.sys.alarm-speaker=1
    复制代码移除下面列出的语句(有就移除)
    ro.config.ringtone=Playa.oggro.config.notification_sound=regulus.oggro.config.alarm_alert=Alarm_Beep_03.oggpersist.sys.themeId=Cyanbreadpersist.sys.themePackageName=com.tmobile.theme.Cya nbread


    来自Android客户端2楼2014-02-13 19:08
    回复
      2025-08-06 15:35:58
      广告
      不感兴趣
      开通SVIP免广告
      本教程适用于mtk6577 4.1和mtk6589 4.2的平台的手机,不适用于其他平台机和mtk 4.0的手机。
      一、正向移植
      所谓正向移植就是把乐蛙官方包作为底包,把需要移植乐蛙机型一些文件移植到乐蛙官方底包中,让乐蛙系统能在这台手机上运行起来的方法。
      正向移植需要考虑有四个方面:
      1、选用正确的乐蛙官方包作为底包
      移植乐蛙最好优先选用官方机型的作为底包,应为非官方的底包,不好确定其中是否被植入恶意程序或者恶意代码,万一碰到,不但坑了自己,还坑自己粉丝。所以建议大家在拼包前,最好先到乐蛙官方下载适用的包,不要使用百度搜索随便下个包就开始做。
      作为底包,最好选用和你需要移植的手机分辨率相同的机型,这样能界面保持原样,不会出现图标模糊,应用布局不对的情况。
      mtk6577 4.1的机型:
      分辨率为800x480的,推荐使用中兴V889M作为底包
      分辨率为960x540的,推荐使用夏新N820作为底包
      分辨率为1280x720的,推荐使用佳域G3作为底包
      Mtk6589 4.2的机型:
      分辨率为800x480的,推荐使用中兴V967S作为底包
      分辨率为1280x720的,推荐使用中兴V987作为底包
      分辨率为1920x1080的,推荐使用Tcl S950作为底包
      2、底层硬件驱动不同
      每个厂商基本都会修改底层硬件驱动来适配自己的手机,所以每台手机硬件底层驱动是不同的,打开beyond compare(如何使用beyond compare请自行google一下)对比移植机型的官方包和乐蛙底包,把官方包中的system/lib/modules目录的所有文件拷贝到乐蛙底包中,由于乐蛙加入自己jar包,所以需要手动修改一下官方的boot.img,修改mtk的boot.img需要先下载mtk-tools:
      把下载好的mtk-tools解压到桌面上,如果是windows系统,需要安装perl的运行环境,具体可以参考这里:
      http://jingyan.baidu.com/article/380abd0aa6c7371d90192c1b.html
      如果是ubuntu系统或者其他的linux系统就可以直接开始修改boot.img了,把官方boot.img拖到mtk-tools目录下,打开终端(window是cmd),


      来自Android客户端3楼2014-03-08 22:34
      回复
        运行命令:
        $ ./repack-MT65xx.pl boot.img
        运行后的目录结构如下图:
        其中boot.img-kernel.img为kernel文件,boot.img-ramdisk是ramdisk.gz解压后生成的,移植乐蛙需要修改的部分主要在boot.img-ramdisk里面,进入boot.img-ramdisk目录,使用文本编辑器打开init.rc,搜索BOOTCLASSPATH,在最后加上 :/system/framework/lewa-framework.jar(mtk的init.rc有两到三个BOOTCLASSPATH,都需要加上) 修改完init.rc后,就完成修改,可以使用工具打包新的boot.img了,运行命令:
        $ ./repack-MT65xx.pl -boot boot.img-kernel.img boot.img-ramdisk/ newboot.img
        到此boot.img的修改就完成了,最后要把newboot.img重命名为boot.img,然后放到乐蛙底包中,乐蛙的正向移植就完成了。
        3、硬件不同(传感器等)
        每个厂商在自己的手机上使用硬件是不同的,如传感器、相机等。这部分需要替换将乐蛙底包中的sytem/lib/hw和system/vendor/lib/替换成官方的包中相应目录,还要把system/lib下带cam字样的so文件也替换成官方包里的相应文件(mtk6577的手机只要替换libcameracustom.so),以确保相机和传感器等硬件正常使用。
        4、系统配置文件不同
        这部分主要集中在system/etc/firmware目录下,这里面放了手机的FM和Radio的固件,需要把整个目录替换成官方的,可以防止出现电话故障,以及fm无法使用的问题。
        5、手机按键配置不同
        每台手机按键配置是不一样的,所以需要替换为官方包里的,按键配置文件放在system/usr/keylayout和system/usr/keychars里面,删除乐蛙底包中这两个目录,把官方这两个目录复制到乐蛙底包中就好了。


        来自Android客户端4楼2014-03-08 22:35
        回复
          6、Radio通信模块不同
          每个厂商在做手机时,都会对radio通信层进行修改,所以每台手机这部分都是有区别的,所以需要使用原厂的版本。这部分需要将system/lib目录下带ril字样的so文件替换成官方包里的相应文件,这样就能确保通信正常。
          完成上面步骤,就基本完成了移植工作,最后还要需改一下移植好的底包META-INF/google/android/updater-script,使用文本编辑器打开META-INF/google/android/updater-script,删除开头的验证信息,确保移植好的乐蛙rom能刷到手机中,移植到此结束。


          来自Android客户端5楼2014-03-08 22:36
          回复
            逆向移植需要考虑的主要有:
            1、选用正确的乐蛙底包
            移植乐蛙最好优先选用官方机型的作为底包,应为非官方的底包,不好确定其中是否被植入恶意程序或者恶意代码,万一碰到,不但坑了自己,还坑自己粉丝。所以建议大家在拼包前,最好先到乐蛙官方下载适用的包,不要使用百度搜索随便下个包就开始做。
            作为底包,最好选用和你需要移植的手机分辨率相同的机型,这样能界面保持原样,不会出现图标模糊,应用布局不对的情况。
            mtk6577 4.1的机型:
            分辨率为800x480的,推荐使用中兴V889M作为底包
            分辨率为960x540的,推荐使用夏新N820作为底包
            分辨率为1280x720的,推荐使用佳域G3作为底包
            Mtk6589 4.2的机型:
            分辨率为800x480的,推荐使用中兴V967S作为底包
            分辨率为1280x720的,推荐使用中兴V987作为底包
            分辨率为1920x1080的,推荐使用Tcl S950作为底包


            来自Android客户端6楼2014-03-08 22:37
            回复
              2、乐蛙修改哪些东西
              乐蛙修改的部分主要集中system/app、system/framework和system/lib三个目录下。移植的时候开启beyond compare,删除官方包的system/app和system/framework目录,然后复制乐蛙system/app和system/framework目录到官方包中,system/lib目录下乐蛙主要修改了三个文件:libandroid_servers.so、libandroid_runtime.so和libandroidfw.so,只需要把乐蛙底包中的这三个文件替换到官方包中即可,然后对比system/lib目录,把乐蛙底包中都出来的so文件复制到官方包中,最后还要给手机加上归属地数据,这部分在system/usr/share/目录下名字为phoneloc.dat,把这个文件移动官方包中相应位置,这部工作就完成了。
              3、修改boot.img
              由于乐蛙加入自己jar包,所以需要手动修改一下官方的boot.img,修改mtk的boot.img需要先下载mtk-tools,下载地址:http://pan.baidu.com/s/1gdwtYa3
              把下载好的mtk-tools解压到桌面上,如果是windows系统,需要安装perl的运行环境,具体可以参考这里:
              http://jingyan.baidu.com/article/380abd0aa6c7371d90192c1b.html
              如果是ubuntu系统或者其他的linux系统就可以直接开始修改boot.img了,把官方boot.img拖到mtk-tools目录下,打开终端


              来自Android客户端7楼2014-03-08 22:38
              回复
                (window是cmd),运行命令:
                $ ./repack-MT65xx.pl boot.img
                运行后的目录结构如下图:
                其中boot.img-kernel.img为kernel文件,boot.img-ramdisk是ramdisk.gz解压后生成的,移植乐蛙需要修改的部分主要在boot.img-ramdisk里面,进入boot.img-ramdisk目录,使用文本编辑器打开init.rc,搜索BOOTCLASSPATH,在最后加上 :/system/framework/lewa-framework.jar(mtk的init.rc又两个BOOTCLASSPATH,两处都需要加上),修改后的init.rc如下图所示:
                修改完init.rc后,就完成修改,可以使用工具打包新的boot.img了,运行命令:
                $ ./repack-MT65xx.pl -boot boot.img-kernel.img boot.img-ramdisk/ newboot.img
                到此boot.img的修改就完成了,最后要把newboot.img重命名为boot.img,然后放到官方包中,替换原版的boot.img,乐蛙的逆向移植就完成了。


                来自Android客户端8楼2014-03-08 22:38
                回复
                  2025-08-06 15:29:58
                  广告
                  不感兴趣
                  开通SVIP免广告
                  三、常见问题解决办法
                  1. 手机没有信号或手机信号弱
                  这种问题多见于正向移植中,是因为通信层配置文件和so文件没有替换成官方版本造成的,只需要把system/etc/firmware替换成官方的,然后把system/lib目录下带ril字样的so替换成官方的基本都能解决问题。
                  2. 相机不能使用,颜色不对,或者花屏
                  这种问题基本都是在正向移植中出现,解决办法为替换system/lib目录下带cam字样的so文件为官方版本,在mtk6589包括下面这些文件:
                  libcam.camadapter.so、libcam.campipe.so、libcam.client.so、libcam.utils.so、libcamalgo.so
                  libcam_camera_exif.so、libcamdrv.so、libcamera_client.so、libcamera_metadata.so
                  Libcameraservice.so、libcam.paramsmgr.so、libcameracustom.so。
                  在mtk6577中基本只要替换libcamracustom.so即可。
                  3. FM不能使用
                  把system/etc/firmware目录替换成官方就能解决。
                  4. wifi不能使用
                  应该是system/lib/modules目录没有替换为官方版本导致的。
                  5. 手机无法开机卡在开机动画
                  基本上是没有按教程修改boot.img导致的,因为乐蛙需要导入自己jar包lewa-framework.jar。
                  6. 手机显示完logo后不显示开机动画,直接黑屏
                  遇到这种情况应该是显示驱动不匹配导致的,需要确认三个路径的文件,包括system/lib/hw、system/lib/modules和system/vendor/lib目录,首先要确认这三个目录下的文件和官方的是否相同,如果相同的话,就把system/lib/libsurfaceflinger.so替换成官方的,基本上都能解决问题。


                  来自Android客户端9楼2014-03-08 22:39
                  收起回复
                    楼主好人,求qq


                    来自Android客户端10楼2014-06-19 19:52
                    回复
                      好强大的楼主~~~~~


                      IP属地:广东来自Android客户端11楼2014-06-29 11:02
                      回复