本人修改了audioflinger下的内容,重新编译生成libaudioflinger.so文件,重新make snod生成system.img利用模拟器测试没有问题,但用真机把旧的so文件替换后重启手机就进不了系统,一直停在logo画面。
怎样才能正确替换真机上的so文件呢。

解决方案 »

  1.   

    你下载的源码是Google官方的,libaudioflinger.so部分的源码可能与你现有机器的现有rom上的原so是不一样的,或许是因为兼容性问题。我以前也遇到过类似的情况,替换掉libandroid_runtime.so,不能开机,停留在logo界面。
    我觉得可以用2种解决方法,一,换机器,换成google的原生机(比如Nexus S),然后用google官方源代码编译出的system往机器里烧一遍,以后想怎么换so文件都行了(整个系统都换成自己编译的了,一个so文件没有可能换不掉)。二、找到你的机器对应的源代码版本(即通过这套源代码可以编译出一个在你机器上运行的ROM,一般可以通过google官方代码+手机厂商提供的若干文件组成,但要看具体厂商是否提供了),然后编译ROM,烧写进手机,这样系统都是你的了,以后自然也是可以换so了。总之,要么改变手机去适应代码,要么改变代码去适应手机。都是可以的。