当前位置:首页 » 安卓系统 » cmandroidl

cmandroidl

发布时间: 2023-08-21 21:18:19

① 在android4.0.几的版本上会出现这个问题,在线求解答

镇凳在Ubuntu12.04(64位)编译Android4.0源码时,遇到各种各样的问题。不是缺这个,就是少那个。现把这些问题和解决方法罗列出来(最新统计)。

错误(1):
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1

解决:
sudo apt-get install libc6-dev-i386

错误(2):
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] error 1

解决:
sudo apt-get install g++-4.4-multilib

错误(3):
external/clearsilver/cgi/cgi.c:22: fatal error: zlib.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_cgi_intermediates/cgi.o] Error 1

解决:
sudo apt-get install zlib1g-dev

错误(4):
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1

解决:
sudo apt-get install lib32z1-dev

错误(5):
bison -d -o out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp frameworks/base/tools/aidl/aidl_language_y.y
/bin/bash: bison: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] Error 127

解决:
sudo apt-get install bison

错误(6):
Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l
/bin/bash: flex: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp] Error 127

拿岁解决:
消旅睁sudo apt-get install flex

错误(7):
/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] Error 1

解决:
sudo apt-get install lib32ncurses5-dev

错误(8):
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55: fatal error: X11/Xlib.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/android/main-common.o] Error 1

解决:
sudo apt-get install libx11-dev

错误(9):
sh: gperf: not found
calling gperf failed: 32512 at ./makeprop.pl line 96.
make: *** [out/target/proct/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h] Error 25
make: *** Deleting file `out/target/proct/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h'

解决:
sudo apt-get install gperf

错误(10):
build/core/java.mk:9: *** bin: Target java mole does not define any source or resource files. Stop.

解决:
删除源码根目录下的bin文件夹,这个文件夹是导入eclipse时创建的。

错误(11):
/usr/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libOpenglRender.so] 错误 1

解决/usr/bin/ld: Cannot Find -lxxx错误
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status

解决办法是(方法一):

[root@9-104 php-5.2.8]# updatedb
[root@9-104 php-5.2.8]# locate libltdl //提示/usr/bin/ld: cannot find -lxxx ,查找时候前面加lib:libxxx 住一 第一个l去掉
/usr/lib64/libltdl.so.3
/usr/lib64/libltdl.so.3.1.4
/usr/share/libtool/libltdl
/usr/share/libtool/libltdl/COPYING.LIB
/usr/share/libtool/libltdl/Makefile.am
/usr/share/libtool/libltdl/Makefile.in
/usr/share/libtool/libltdl/README
/usr/share/libtool/libltdl/acinclude.m4
/usr/share/libtool/libltdl/aclocal.m4
/usr/share/libtool/libltdl/config-h.in
/usr/share/libtool/libltdl/config.guess
...
注意拉:
[root@9-104 php-5.2.8]# ln -s /usr/lib64/libltdl.so.3 /usr/lib64/libltdl.so
原理:给查找到的libxxx文件做软链接
ln -s /usr/lib64/libxxx.so.X(X代表数字) /usr/lib64/lxxx.so

解决办法是(方法二):
apt-get install libxx-dev(如:apt-get install libltdl-dev)
/usr/bin/ld: cannot find -lXt 这种情况一般就是库找不到,有可能你没安装,有可能你安装了但是路径不对。你可以先用 #locate libxt查看下,时候跟这有光的库,没有就安装。

以上两种办法若再出现如下错误:

<built-in>:0:0: note: this is the location of the previous definition
host StaticLib: libOpenglCodecCommon (out/host/linux-x86/obj/STATIC_LIBRARIES/li
bOpenglCodecCommon_intermediates/libOpenglCodecCommon.a)
host SharedLib: libOpenglRender (out/host/linux-x86/obj/lib/libOpenglRender.so)
/usr/bin/ld: cannot find -lX11
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libOpenglRender.so] Error 1

解决方法(办法三亲测一定可行):$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

错误(12):
development/tools/emulator/opengl/host/libs/Translator/GLcommon/GLDispatch.cpp:22: fatal error: GL/glx.h: No such file or directory compilation terminated.
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libGLcommon_intermediates/GLDispatch.o] Error 1

解决方法:sudo apt-get install libgl1-mesa-dev

错误(13):
host SharedLib: lib64EGL_translator (out/host/linux-x86/obj/lib/lib64EGL_translator.so)
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/lib64EGL_translator.so] Error 1
make: *** Waiting for unfinished jobs....

解决方法 :

sudo apt-get install libglu1-mesa-dev

错误(14):
host StaticLib: libGLcommon (out/host/linux-x86/obj/STATIC_LIBRARIES/libGLcommon
_intermediates/libGLcommon.a)
host SharedLib: libGLES_CM_translator (out/host/linux-x86/obj/lib/libGLES_CM_tra
nslator.so)
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libGLES_CM_translator.so] Error 1

由于libGL.so系统默认没有进行库路径下的链接,还需要手动链接一下
解决方法: sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
解决方法: sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/mesa/libGL.so

在网上搜到上面的解决方法,可是按照上述方法做了,问题依旧。经过多方实验,才发现问题所在。通过apt-get install的库不是libGL.so.1.2了。而是libGL.so.1.2.0.

错误(15):
make: *** [out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1

后来发现了,原来是Ubuntu11.10里的gcc和g++版本太高了,于是执行下面的操作:

sudo apt-get install gcc-4.4

sudo apt-get install g++-4.4

sudo rm -rf /usr/bin/gcc /usr/bin/g++

sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++

把默认的4.6版本换为了4.4,继续编译源码,又出现了另一个错误,大致提示为:

g++ selected multilib '32' not installed

继续奋战吧,安装相应的工具吧:sudo apt-get install g++-4.4-multilib,现在正在make -j8(开启多线程编译(不推荐),可能有时候会出现问题,最好是直接make)

2.解决各种依赖问题
首先安装一些库
?View Code BASH

1 sudo apt-get install gnupg flex bison gperf libsdl1.2-dev libesd0-dev
2 sudo apt-get install libwxgtk2.6-dev squashfs-tools build-essential
3 sudo apt-get install zlib1g-dev pngcrush schedtool ia32-libs libncurses5-dev

这些库可能不全,如果出现问题,再google一下吧

2.error: “_FORTIFY_SOURCE” redefined [-Werror]
这个问题,据说与gcc版本有关,4.4版不会出现。
后来在google code 上找到了使用gcc 4.6编译的方法
修改build/core/combo/HOST_linux-x86.mk 文件 line 61

?View Code BASH

1 -HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
2 +HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0

这是CyanogenMod打上的补丁

3.No rule to make target ‘out/target/proct/generic/obj/lib/libcamera.so’
修改 /home/Android-2.3.4/frameworks/base/services/camera/libcameraservice/Android.mk,USE_CAMERA_STUB:=false ->ture
?View Code BASH

1 LOCAL_PATH:= $(call my-dir)
2
3 # Set USE_CAMERA_STUB if you don't want to use the hardware camera.
4
5 # force these builds to use camera stub only
6 ifneq ($(filter sooner generic sim,$(TARGET_DEVICE)),)
7 USE_CAMERA_STUB:=true
8 endif
9
10 #########CHANGE THIS LINE############
11 USE_CAMERA_STUB:=true
12
13 ifeq ($(USE_CAMERA_STUB),)
14 USE_CAMERA_STUB:=false
15 endif

② android opengles2.0值得学习吗

OpenGLES是一个让人崩溃的东西。在Andorid手机上做3D还就得用它。把我记的一些笔记分享在这里吧:

Android OpenGL ES简介 20011-6-3
Android系统使用OpenGL的标准接口来支持3D图形功能,android 3D图形系统也分为java框架和本地代码两部分。
本地代码主要实现的OpenGL接口的库,在Java框架层,javax.microedition.khronos.opengles是java标准的OpenGL包,
android.opengl包提供了OpenGL系统和Android GUI系统之间的联系。
Android的本地代码位于frameworks/base/opengl下,
JNI代码位于frameworks/base/core/com_google_android_gles_jni_GLImpl.cpp和frameworks/base/core/com_google_android_gles_jni_EGLImpl.cpp,
java类位于opengl/java/javax/microedition/khronos下
本地测试代码位于frameworks/base/opengl/tests。包括angeles、fillrate等14个测试代码,这些代码都可以通过终端进行本地调用测试(模拟器中使用adb shell)。
OpenGL ES 1.x
固定管线操作,支持glVertexPointer()等函数,不支持GLSL。头文件在ndk的GLES目录下,库文件是libGLESv1_CM.so。
OpenGL ES 2.x
编程管线操作,不兼容1.x,不支持固定管线操作,例如glVertexPointer()等函数。支持GLSL(还必须用这个来编程)。头文件在ndk的GLES2目录下,库文件是libGLESv2.so。

OpenGL ES学习 2011-6-30
OpenGL定义了自己的数据类型。应该坚持使用这些OpenGL的数据类型,从而保证可移植性和效率。
OpenGL ES 目前不支持64位数据类型。
OpenGL ES 只支持三边形。
OpenGL ES 只支持gl开头的函数,glu库都不支持。
OpenGL ES 从 OpenGL中删除的功能:
1. glBegin/glEnd
2. glArrayElement
3. 显示列表
4. 求值器
5. 索引色模式
6. 自定义裁剪平面
7. glRect
8. 图像处理(这个一般显卡也没有,FireGL/Quadro显卡有)
9. 反馈缓冲
10. 选择缓冲
11. 累积缓冲
12. 边界标志
13. glPolygonMode
14. GL_QUADS,GL_QUAD_STRIP,GL_POLYGON
15. glPushAttrib,glPopAttrib,glPushClientAttrib,glPopClientAttrib
16. TEXTURE_1D、TEXTURE_3D、TEXTURE_RECT、TEXTURE_CUBE_MAP
17. GL_COMBINE
18. 自动纹理坐标生成
19. 纹理边界
20. GL_CLAMP、GL_CLAMP_TO_BORDER
21. 消失纹理代表
22. 纹理LOD限定
23. 纹理偏好限定
24. 纹理自动压缩解压
25. glDrawPixels,glPixelTransfer,glPixelZoom
26. glReadBuffer,glDrawBuffer,glCopyPixels

OpenGL ES 2.0 2011-10-9
2.0和1.1不兼容。
- 2.0使用的头文件是ndk的include目录下的GLES2目录,有gl2.h,gl2ext.h,gl2platform.h,而1.1使用的是GLES目录。
- 2.0使用的库文件是ndk的lib目录下的libGLESv2.so,而1.1使用的是libGLESv1_CM.so。
- 2.0中取消了很多1.1函数,例如glMatrixModel和glLoadIdentity等。
OpenGL着色语言(GLSL――OpenGL Shading Language)
- 使用2.0,必须学此语言。因为很多1.1的函数都被取消了。

san-angeles NDK OpenGL ES 1.1的例子程序 2012-3-8
San Angeles,查维基网络,是一个虚构的未来概念城市,位于南加州。常在电影中出现,来源自Los Angeles和San Diego.
该程序的演示效果是,观察一个宏伟的城市,地面是镜面有建筑倒影,城市中有飞船飞过。前后有5、6个观察点,而且镜头在每个观察点不停的移动。
这个例子,用NDK(C++)调用OpenGL ES 1.1来绘制了San Angeles这个城市。基本上全部使用了NDK,Java程序只有1个。
用vc2005演示一下,目的通过跟踪代码了解一些细节。方法是:
- 将jni下所有的.h文件,以及demo.c,app-win32.c复制出来,放在一个专门的目录下,然后改造成用OpenGL的而不是ES的。(或者干脆删除大段的绘制代码,保证编译通过)
首先分析Java代码
- DemoActivity.java,这是唯一的Java文件,它主要需要下列4个jni的接口:
- private static native void nativeInit(); // 初始化
- private static native void nativeResize(int w, int h);
- private static native void nativeRender(); // 绘制1帧
- private static native void nativeDone();
其次分析C++代码 app-android.c
- 首先,调用了importGLInit(),动态导入OpenGL的库。
- 其次,调用了 appInit(),在内存中建立了平台无关的3D对象集合。建立方法是用一个数组,用类似画圆拔高的方式产生诸多三角形。
- 然后,在每个时钟周期中调用appRender(),细节是:
- prepareFrame(width, height); // 准备OpenGL ES绘制框架。其实就是清空颜色和深度缓冲,重置投影和模型矩阵。
- camTrack(); // 算好在当前时钟周期,镜头的位置、朝向及焦距等。然后调用gluLookAt来实现。
- configureLightAndMaterial(); // 设置光源和材质
- drawModels(-1); // 先绘制倒影(其实就是将所有模型z轴倒过来画)
- 第一个循环,是画精致的物体
- 第二个循环,是画运动的物体
- drawGroundPlane(); // 再绘制镜子一般的地面。在绘制前取消光照,打开混合,然后绘制。绘制后还原状态。
- drawModels(1); // 再绘制所有模型
- drawFadeQuad(); // 最后绘制淡出框,用融合的方式画一个遮住整个视口的2D框,融合系数和时间相关。

③ 为什么Android系统应用更新不是让新apk替换进入/system分区

这里涉及到两个问题:odex和第三方制作的Gapps刷机包

买来一个android设备,没有root前都是这样子的:

只要不是内地的android设备基本都会搭载google提供的一系列android手机的应用,大家会叫它Gapps,GMS什么的。这一批应用包含了表面的从gmail到youtube到play service到背后的公共用途的软件包,以及很多framework和本地代码动态运行库及其它内容。

当然其中大部分可执行代码都以dex这种可以由dalvik这个java虚拟机执行的的形式存在,具体的说,是以odex的形式存在。

dalvik在运行dex之前,需要做一系列验证,确保dex里头的代码是符合规范,是能安全执行的,dalvik做完检查后,将dex做一些处理(比如调整,加校验位等),就变成了odex。实际上在dalvik里头运行的是odex。

所以,正式发售的设备的内置应用程序,都是以***.apk加上同名的***.odex存在的。

因为这种机制,把一对apk/odex放到另一台不同(具体)型号的设备里是没法运行的。

而google不允许包括CM在内的第三方rom里内置Gapps。Gapps是收费的私有软件。

所以,目前想到的办法是借助smali等开源工具做deodex,将odex转化成可以通用的dex。这样重新打包了Gapps后,才能作为刷机包塞到别的设备中

-----------------------------------
google会不会对gapps进行升级?

显然是的,一部分的升级会通过play store进行,比如更新play store本身,装一个google play service(这个apk实际上是一个供第三方应用程序的API合集,有了它才能在第三方应用中使用google maps的矢量地图,通过google+登陆等项目)

另外一部分则要通过设备的OTA做,因为这个更新实在太大了,同一个手机,从android4.0升级到android4.1时,可能每一个Gapps的文件都需要替换,而且android安装应用程序的机制说到底只能改变apk文件,但它动不了framework,library,所以这些东西的更新需要借助OTA等通过bootloader许可直接修改system分区的手段

在第三方打包好的gapps里就能发现,gapps有很多很多的版本

我觉得刷gapps的原则是,首先gapps要适配设备当前android的大版本,给4.1用的gapps就不应该刷到4.0系统里,使用intel处理器的尤其要注意,这个gapps是不是给x86设备的,Z24x0/27x0只能有限度地翻译arm代码,把arm设备的gapps给x86设备用,可能会导致系统根本无法启动;然后越新打包出来的gapps问题可能会越少。

④ 想做一个关于安卓系统的课题研究,不知能从那些方面入手

1.什么是Android手机?
答:简单的说Android手机是运行在谷歌Android手机操作系统上的手机统称为Android手机,也可称为gphone手机.
2.目前Android手机有哪些厂商在生产?
答:最常见的有HTC、摩托罗拉、三星、华为,Acer(宏碁),美迪奥(MDO),索爱,LG,OPPO,首派,魅族等等。
3.目前市面上有哪些主流的Android手机型号可以选择?
答:HTC: G1(Dream),G2(Magic),G3(Hero),G4(Tatto),G5(Nexus one),G6(Legend),G7(Desire)摩托罗拉: Droid,Milestone(里程碑),XT701,XT800,ME600,Shole,Nexus 2 shadow三星:i5700 Spica,i7500 Galaxy,SCH-I899华为:U8220/T-Mobile Pulse索爱: X10还有其它的就不一一列举了。
4.目前Android操作系统有哪些版本的?
答:Android1.0,Android1.5,Android1.6,Android2.0,Android2.1,Android2.2, android 2.3ROM等更高版本!
5.Android手机软件格式是什么?
答:Android手机应该程序包的扩展名为.apk
6.Android手机都支持哪些格式的扩展名?
答:支持.apk文件和.jar文件(.jar需要安装java虚拟器)才可以正常安装。
7.Android手机支持哪些音频格式?
答 .mp3,wma,ogg,AAC (AAC , AAC
, AAC-LC) AMR-NB,WAV,MIDI
8.Android手机支持哪些视频格式?
答:mp4/3gp格式是Android手机支持的。
9.Android网络全书
答:详情请参考: Android网络知识
10.购买Android手机前需要了解的一些知识
答:详情请参考: 购买android手机之前必须要知道的知识
11.HTC手机不同版本的详细资料
答:详细请参考: HTC手机不同版本的详细资料
12.Android机器是否支持关机闹钟?
答:目前的Android机器都不支持关机闹钟这个功能!
13.Android系统的机器能刷WM的系统吗?
答:目前为止还未出现可在Android机器上刷WM系统的办法!故暂不支持!
14.Android只是个手机系统吗?
答:不是的,Android系统不知是单纯的手机系统。目前已经被宽泛的应用在MID设备、上网本以及其他的数码设备上。
15.什么是HTC Sense界面?
答:基于创新的传统与增进人类生活的热情,HTC提供以人为中心的行动通讯经验。从HTC Hero开始,HTC推出的所有产品都将整合HTCSense?并符合三个设计理念,包括Make It Mine、Stay Close、与Discover the Unexpected。
16.Android哪里最特别?
答:详情请参考: Android平台哪里最特别?
17.Android手机能否查看gif图片?
答:可以看GIF图片,不过只能看到第一帧,也就是说无法查看完整的 GIF 动态图片。
18.目前Android手机应用程序多吗?
答:截止到2010年5月市场上已经超过了50000多个应用程序,几乎覆盖绝大部分软件.而且还在不断的增长中.足够日常和娱乐使用.
19.ANDROID手机支持录音功能吗?
答:是支持的,不过一些ROM没有自带录音程序.我们自己可以下载一些录音软件,在论坛里搜索:recorder
20.什么叫伪军?
在android上有些手机被称为伪军那么什么是伪军呢,伪军是指32B的机子,但radio却是3.22.xx.xx.。 看清楚了,如果你的机子,关机后同时按返回 开机,看到第一行是32B,而radio却是3.22.xx.xx,就是伪军,没什么怀疑的。当然行货A6188W不算,那个垃圾本来就是这样。要注意,32B的机子原本radio应该是2.22.xx.xx为什么会这样,可能是为了破解完美SPL,所以JS就刷了32A的radio与spl对于这种机子,recovery与ROM都要选择32A的。而且这种机子,我的建议是能打电话就行了,少折腾。当然也有朋友折腾回正规军的。

可能刚刚接触Android手机或者接触了一段时间Android手机的玩家还不完全明白一些关于Android系统的名词,看完下面关于Android的一些名词介绍,你就可以大概知道一些Android的知识了。1.固件、刷固件固件是指固化的软件,英文为firmware,它是把某个系统程序写入到特定的硬件系统中的flashROM。手 机固件相当于手机的系统,刷新固件就相当于刷系统。不同的手机对应不同的固件,在刷固件前应该充分了解当前固件和所刷固件的优点缺点和兼容性, 并做好充分的准备。2.ROM(包)智能手机配置中的ROM指的是EEProm(电擦除可写只读存储器)类似于计算机的硬盘,手机里能存多少东西就看他的容量了。底包+更新包统称为一个ROM包。3.固件版本固件版本是指官方发布的固件的版本号!里面包含了应用部分的更新和基带部分的更新,官方新固件的推出的主要目的是为了修复已往固件中存在的BUG以及优化相关性能。4.CID、SUPERCIDCID是CustomerIDentity的简称,简单来说就是手机的平台版本,破解限制之后的CID称为SUPERCID。刷机过程中SPL需要根据CID效验ROM是否可用,并决定是否刷入,一般情况下要求一定要对应CID的ROM才可以用,cid不同的rom是刷不上去的。 对于普通的CID来说,一般有两个限制:1)不能刷入低版本的的ROM,2)不能刷入不同平台的ROM,比如:在台版机上刷欧版ROM、跨型号刷ROM 等。SUPERCID有些型号手机的CID的限制是可以通过软件来破解的,已知的有577W、586W等,但也有也些型号目前还没有有效的方法破解 CID,如838G4。破解限制之后的cid称为SUPERCID,拥有SUPERCID的机器可以刷任意版本和平台的ROM。具体来说,同 一个手机既可以刷台湾的ROM,也可以刷日本的rom,也可以刷香港的rom等。甚至也可以刷进一个其他型号手机的ROM(如586W刷577W)。但是 这也带来很大的危险性,因为没有了限制,没有了校验,刷入一个错误的ROM也是很容易的事。我们一般刷机时需要破解为SUPERCID,因为一方面现在大 部分情况下刷机所用的ROM都是通不过CID校验的;另一方面万一刷机失败,对于SuperCID的手机更容易修复。5.HTC SenseHTC为Android系统设计的用户界面。从HTC Hero开始,HTC推出的所有产品都将整合HTC Sense。并符合三个设计理念,包括Make It Mine、Stay Close、与Discover the Unexpected。[/forecolor][forecolor=#FF001F]6.Recovery笼统的说,就是一个刷机的工程界面。如果你装过系统,你可能知道dos界面或者winPE,安装了 Recovery相当于给系统安了一个dos界面。在recovery界面可以选择安装系统,清空数据,ghost备份系统,恢复系统等等。刷 recovery与刷rom不冲突。7.APP TO SD、APP2SD一些Android机器在安装程序的时候默认是安装在机器内存上的,这就会导致原本不大的内存被占用,运行速度降低,而存储卡却利用率很低的情况。APP TO SD就是把程序安装到SD卡从而腾出手机内存提高运行速度的意思。APP2SD亦然,只是谐音而已。8.RootRoot权限跟我们在Windows系统下的Administrator权限可以理解成一个概念 。Root是Android系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权利,所有对象他都可以操作。只有拥有了这个权限我们才可以将原版 系统刷新为改版的各种系统,比如简体中文系统。9.RADIORadio简单的说是无线通信模块的驱动程序。ROM是系统程序,Radio负责网络通信,ROM和Radio可以分开刷,互不影响[b]10.ROM分类一般分为两大类,一种是出自手机制造商官方的原版ROM,特点是稳定,功能上随厂商定制而各有不同;另一种是开发爱好者利用官方发布的源代码自主编译的原生ROM,特点是根据用户具体需求进行调整,使ROM更符合不同地区用户的使用习惯。11.IPL、SPLIPL英文全称是InitialProgramLoader,负责主板,电源、硬件初始化程序、并把SPL装入RAM。IPL损坏了可把手机扔进河里,或者通过换字库来解决。SPL英文全称是SecondProgramLoader,“第二次装系统”,就是负责装载OS操作系统到RAM中。另外SPL还包括许多系统命令,如mtty中使用的命令等。SPL损坏了还可以用烧录器重写。SPL一般提供这几部分功能:检测手机硬件、寻找系统启动分区、启动操作系统为系统的基本维护提供操作界面,可以通过数据线与操作终端(如PC)建立连 接,并接受和执行相应命令。它里面包含许多命令,像r2sd,l,doctest(危险命令,他会擦除gsmdata)等。我们常说的三色屏就是由SPL 驱动的。检测SD卡,当你把一些特殊制作的SD卡插入后,SPL可以在启动时校验并根据SD卡内容刷机或执行一些命令。这有点类似于PC的从软驱启动。IPL和SPL版本可以在三色屏中查看。按住照相键不放,然后短按电源开机键即可进入三色屏查看相关信息。12.SignSign是指给Rom包或者Apk应用程序签名,只有签名过的Rom或者Apk才可以刷入或安装到手机上。13.Cyanogen、CMCyanogen是国外一位牛人,其制作的CyanogenMod系列Rom比较流行,主要追求的就是速度,CyanogenMod的缩写就是CM,因而我们也常见CM ROM。14.adbadb是Android Debug Bridge的缩写,意为Android系统的调试桥。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,其实这就是用于 谷歌Android系统的debug调试工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行APK安装器时adb进程就会自动运行。除了上述的操作功能之外,我们还可以通过adb管理设备或手机模拟器的状态。还可以进行很多手机操作,比如刷ROM系统升级、运行shell命令

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:233
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:532
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726