`
mikey1101
  • 浏览: 52072 次
社区版块
存档分类
最新评论

编译改造过的Android源码Lancher替换panda开发板的Launcher

阅读更多

        由于公司项目需要,这两三个月一直在改造lancher。现在基本改造完毕,需要装到真机开发板上调试。由于烧写源码到真机上涉及到驱动问题,并且我的上司主管调试的系统和我的不是一个版本,他那个版本驱动已经调试完毕,所以不希望重新烧写整套源码,而是只替换一个Lancher。于是我就按照这个需求开始操作了。经过两天的努力,终于搞定了。回想起来,其实也不算难,但是寻找以及探索的过程还是挺累的。现在把整个过程总结在此,希望能对看到的人有所帮助。

        这个操作的前提是:机器要有root权限!!!!!!

        1.编译适合在panda开发板上适用的源码。

                    相信来看这篇文章的程序猿应该都熟悉编译源码流程。这个流程也一样,只是有项参数不一样而已。在终端输入:

                    1)$:source build/envsetup.sh   ----初始化编译环境

                        $:lunch full_panda-eng         ----配置适合真机上运行参数(模拟器上的是 lunch full-eng

                        $:make                                      -----开始编译

                    2)编译完后,会看到跟一般编译不一样的地方:在product目录下多了一个名为panda的目录。我们所需要的东西都                         在这里边了。进入panda/system/app/我们就可以看到很多系统的应用程序apk。相信你也看到了我们所需要                         的Lancher。

         2.将Lancher.apk push到真机上的/system/app目录中。

                     $:adb remount

                     $:adb push xxx/xxx/xxx/Launcher2.apk   /system/app/

             这样你会看到屏幕黑屏了,然后再几秒又运行起来了。这个就是你刚push进去的新Lancher。

 

         说说我碰到的问题:

         1.Adroid.database.sqlite.SQLiteException: Can't downgrade database from version 12 to 9.查了一下,说是数据库更新后使用时应该先获取最新版本的数据库。大家可以看这个链接:http://blog.csdn.net/itceojingying/article/details/6347208

我根据出错的信息找到的解决方法是:进入lancher工程src目录,找到LancherProvider.java中DATABASE_VERSION=12,

把它改为DATABASE_VERSION=15(应该是>=12就行)即可。

          2.Requires development platform AOSP but this is a release platform.这个困扰了我挺久的。最后终于找到答案。具体看下面这个网址吧,相信比我说的更明白。解决方法就是:在AndroidManifest.xml的application标签前加上下面两个标答

<uses-sdk android:minSdkVersion="AOSP"
        android:targetSdkVersion="AOSP">
</uses-sdk>

,之后重新编译,按照上面的步骤来就行。

           3.其他还有一些是找不到方法,找不到类的错误,只要你找到相应的代码把它注释掉就行。应该没什么大问题。

 

          嗯,记录完毕。以后要经常写笔记了。一天进步一点。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics