android 4.0 编译模式 eng -- > user 时遇到的问题关键词:android 4.0 user eng camera nand 串口
平台信息:
内核:linux3.0
系统:android4.0.3
平台:S5PV310(samsung exynos 4210)
问题描述:android4.0编译模式由eng变成user后出现如下问题:
1、设置中wifi开关选项没有了(打开、关闭选项);
2、不能安装应用程序apk;
3、camera提示插入sd卡(实际sd卡、nand正常挂载);
4、串口终端有信息输出,但是不能操作(只能看到内核输出信息,敲键盘没反应)。
一、更改编译脚本build_android.sh
找到下面脚本,改为user模式:
二、问题分析、解决
1、对2、3两个问题分析
不能安装应用程序apk; camera提示插入sd卡(实际sd卡、nand正常挂载);
感觉是nand、sd卡的权限不,查看权限:
2、对比编译生成的system,发现问题
发现有system/etc/permissions在两种模式下有所不同,编译成user时4.0.3_r1/out/target/product/smdkv310/system/etc/permissions/少了一些xml文件,
如:android.hardware.camera.xml、android.hardware.wifi.xml、platform.xml等
我们知道out目录下生成的文件,是在其它地方copy过来的,找到这些xml文件在源头在:4.0.3_r1/frameworks/base/data/etc中,查看4.0.3_r1/frameworks/base/data/etc/ndrAoid.mk编译选项,发现一些问题:
LOCAL_MODULE_TAGS := eng这个值为eng,所以在user模式下编译时,对应的文件不做copy,LOCAL_MODULE_TAGS:= user时编译时出错。编译脚本太深入的话,我也看不懂里面的东西,所以想了一种比较简单的方法,编译时不判断模式,直接copy文件:
3、在device.mk中加入copy操作,解决问题
我们在4.0.3_r1/device/samsung/smdkv310/deivce.mk中加入copy命令,如下:
编译完成后要检查一下4.0.3_r1/out/target/product/smdkv310/system/etc/permissions/这个目录下,是否把frameworks/base/data/etc/目录下的xml文件复制过来。
注意:烧录时,清除userdata\cache两个分区,这里面会记忆一些系统信息,不清除的话,还是会出现错误现象。
前三个问题解决,我们再看下第四个问题:
4、串口的操作选择(debugable使能)
问题:串口终端有信息输出,但是不能操作(只能看到内核输出信息,敲键盘没反应)。
这个问题也是无意间发现的,其实在user模式下,串口本来就不能操作的,也就是说这是正常的现象,但是我们考虑到在试产过程中总会出现一些问题,要用到串口跟踪信息,所以还是想找到原因:
(1)default.prop
我们对比下default.prop在两种模式编译下的差异:
(2)、全局搜索,找到对这个值设定的位置4.0.3_r1/build/core/main.mk
更改:4.0.3_r1/build/core/main.mk
关于user、eng这两种模式,BSP中应该都支持,也许我们拿到的BSP不全,这里面的问题只是针对user、eng编译里的个别问题。我不能详细的分析,一方面我做驱动方面的工作,对系统方面了解有限,另一方面BSP编译规则一般是由芯片厂去做这部分工作。希望对遇到相同问题的“同学”有所帮助,自己也做一点备忘记录。
转载自:http://www.myexception.cn/android/520223.html
分享到:
相关推荐
Android4.0源码编译方法介绍,记录基于Ubuntu10.04编译Android4.0源码的过程。
ShxConvert4.0 A12本软件是AutoCAD专业软件,ShxConvert是用于编译、反编译、转换AutoCAD形文件或字体文件的专用工具。它具有5个基本功能:编译Shp-> Shx;反编译Shx-> Shp;分解、炸开Shp/Shx-> Dat;转换Shp/Shx...
创建工程,选择File--->New----->Project...---->Android Project from Existing Code---->Browse---->找到源码所在的路径----- >Finish,工程就创建完成了。工程创建之后需要更改SDK的版本,右键工程,选择...
3.选择项目属性->Java Build Path->Order and Export,使用右面的“UP”键,把所建立的User Libraries移到Android SDK的上面。这样做的意思就是优先使用classes.jar中的API,其次使用android.jar中的API。为什么不...
Android4.0编译烧写[参照].pdf
Android4.0编译烧写[归纳].pdf
为了访问因此成员,需要改变类搜索顺序,选择项目属性->Java Build Path->Order and Export,把所建立的User Libraries移到Android SDK的上面。 3 编译运行。如果发现myEclipse因内存小编译不了,修改myeclipse.ini...
android反编译工具---逆向助手,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/78533913
libredwg androidstudio交叉编译工程 在安卓下可以打开dwg文件 或者不知道如何交叉编译工程的同学也可以参考这个工程(请看2) 1: 下载解压,直接用androidstudio导入,然后直接点击build->make project 即可生成 ...
PCL for Android 编译过程遇到的问题及办法。如有问题请留言
android4.0,android2.3,android2.2,android源码编译,有效果图,可以自己看啊。如果你们编译中间出了问题可以跟我联系。
DoNet4.0 ORM框架NHibernate-4.1.1,注意。该版本编译环境为.net4.0
RealView-编译工具-4.0-版《编译器参考指南》 RealView-编译工具-4.0-版《编译器用户指南》 RealView-编译工具-4.0-版《汇编器指南》 RealView-编译工具-4.0-版《开发指南》 RealView-编译工具-4.0-版《库和浮点支持...
./configure --prefix=/usr/local/android --host aarch64-linux-android --with-pic --disable-shared make -j4;make install 在wsl下面用ndk20编译的, aarch64-linux-android29-clang++ aarch64-linux-android-...
XEN4.0内核编译XEN4.0内核编译XEN4.0内核编译XEN4.0内核编译XEN4.0内核编译XEN4.0内核编译XEN4.0内核编译XEN4.0内核编译
在Ubuntu10.04下载和编译android 4.0源代码(四)
dex2jar-2.0 android 反编译工具---将apk反编译成java源代码(classes.dex转化成jar文件) 解压即可使用
本资源里面包括include、Dll、lib文件,X86和X64系统都可用,只需将include、lib文件包括在VS工程内即可使用,亲测OK,识别效果很好。
Android反编译工具jd-jui,用于将.dex反编译成的.class文件进一步反编译成.java文件。