‘壹’ android系统具体是什么系统阿Android系统移植又是什么意思
Android系统其实就是一套专为手机开发的框架,用这个框架可以编写在手机上运行的程序,比如游戏什么的,
移植是指在pc机编写好的代码移植到手机上,就这么简单
‘贰’ linux下的应用程序移植到android系统,求思路!
如果是java之类的代码,可能移植难度要低些。移植程序是个苦活,与其没完没了的调试,还不如按照原来的设计思路和功能重新写代码呢。
‘叁’ 安卓系统怎么移植
。。这个哪有移植。。不就是安卓系统嘛。。安卓系统在每台机上都要进行修改的。这个要自己研究的,和要官方公布源码才行的
‘肆’ 请教关于android移植的问题
一、概述
移植的工作一般的主要不外乎做以下这些事情:
A、有的现成好的直接选配
这个工作主要是熟悉该源码的编译系统,就是源码自动化编译是怎么组织的。Linux环境下不外乎是Makefile及脚本。所以得熟悉这两个方面的知识。
B、有的不好的代码修改好后选配
这个工作不仅仅是要熟悉编译系统,还要熟悉别人的代码结构。一般牛X的软件架构也牛X,所以主要是学习牛X的人设计的代码结构,所谓的框架。框架懂了,再熟悉里面的细节,就可以改了。
C、添加新代码并选配
这个工作同样要熟悉编译系统及源码结构。这个时候对框架可能不能仅仅限于知道,而且要深刻理解,按照牛人的思路来设计代码。
所以Android的移植就可以简单的说成有以下方面的工作:
A、熟悉android的编译系统
主要是.mk文件的规则,这个官网及源码中有文档说明(development/Ndk/Docs/android-mk.txt),得好好研究清楚。
就源码中的脚本,譬如:build/envsetup.sh
B、熟悉android的源码目录结构
system:根文件系统相关的一些代码
packages:android的一些APP的源码
frameworks:framework层代码,不改动android源码的话,主要就是app层调用hal层代码的接口实现的源码
hardware:hal层代码
devices和vendor:厂商定制代码
build:编译系统的一些mk文件
out:是编译输出目录
主要的一些目录就是上面了,对于初学的话,差不多就足够了。当然所有的都熟悉是最好了。
C、三个层次的代码
要向android添加代码的话,一般主要熟悉三个层次的代码就差不多了。
APP<--->framework<--->HAL
APP:应用程序层次,主要是Java代码,通过跨平台的java编写的代码来完成需求逻辑对系统提出功能性要求,让系统去完成相应的动作。
framework:cpp代码,主要是提供给java调用的接口,这些接口通常是去调用到hal层的代码。
HAL:登记一组供framework回调的函数,来完成一定的功能。
‘伍’ 我向学习安卓系统移植。
如何制作ROM
有点玩机兴趣的android爱好者,应该对custom ROM这种东西都不陌生。我介绍root权限获取的时候,就直接用的MoDaCo Custom ROM作为例子。适用于Hero比较好的ROM还有不少,比如Drizzy’s Custom Hero ROM等等,都可以在XDA上找到。肯定有不少朋友感到很好奇,这些ROM都是怎么做的。考虑到中文社区相关资料比较少,在这里抛砖引玉,大概原理介绍一下。
对于第三方ROM来讲,通常都包括两部分,一个recovery image,一个update.zip。而大多数的第三方ROM的特色,就是加入了很多东西,比如superuser程序来获得root权限,busybox来扩充命令行下的功能,各种各样的配置文件或者小工具,比如默认打开中文locale,等等。这些看似神奇的改动,都是在 update.zip里面搞的,custom recovery image的主要作用就是引导用户的操作,比如让你先备份,再应用update.zip,再重启之类的操作。由于custom recovery image和update.zip的耦合性很小,所以不少custom ROM直接都用同一个custom recovery image,这个好像是出自MoDaCo作者之手。再然后,我之前的文章已经有对 recovery image的简单讲解,所以这里,我主要介绍一下update.zip的制作。
如果我们直接把MoDaCo ROM中的update.zip解包,我们会发现有一个boot.img,一个data文件夹,一个system文件夹,一个META-INF文件夹。这个data文件夹放的是init.rc,而本来在系统中,init.rc就是在data目录下的。当然,两者的作用不一样,这里的init.rc主要作用是开机执行你希望执行的命令,比如MoDaCo的init.rc就是install busybox。
而值得详细说明的,就是system文件夹。MoDaCo ROM版本的system下有一系列作者希望放到系统中的工具,对于apk文件,就放到app下,工具就放到bin和xbin下,依此类推。换句话说,system或者data这个目录层次结构是取决于你自己的,你希望放的东西属于什么,应该运行在online系统的什么目录下,update.zip里面就应该是有相应的目录路径,然后东西就放在里面。
具体点,我们现在要依样画葫芦,搞一个新的update.zip,那么第一步就是首先建立一个文件夹
mkdir new-update
好,假设我新update.zip的作用就是预装我自己的一个程序,my.apk,那么,我建立对应的子目录
mkdir -p new-update/system/app
cp my.apk
这样,system目录就完成了。但是这时,update.zip的目录层次还没完,我们看MoDaCo ROM中的update.zip中有文件夹叫META-INF,这个文件夹很关键,除了根目录下的三个文件外,里面层层目录,就包括了一个文件,叫 update-script,内容如下
show_progress 0.1 0
_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
_dir PACKAGE:data DATA
show_progress 0.2 0
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
show_progress 0.2 100
这里面的内容,大部分是针对你要做的修改设置的。比如
_dir PACKAGE:system SYSTEM:
就是把system中新增的工具拷贝到手机上,然后
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
就是设置MoDaCo ROM中新增程序的权限,然后
_dir PACKAGE:data DATA:
把data下的内容(就是那个init.rc)复制到手机上,然后
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
刷boot分区。
那我们这里没有这么多新增的东西,应该怎么写呢?
_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 04755 SYSTEM:app/my.apk
就可以了。你当然还可以做一些别的事情,比如加一个FORMAT DATA之类的^_^开个玩笑,千万别这个干,不然你的数据就全没了。
好,那么也就是说,我们要在自己的new-update目录下也建一个/META-INF/com/google/目录,然后把新的update-script扔进去。
完了么?差一点。其实如果你没有别的需求了,那么就完了,可以把下面这一小块跳过。下面这一小块,是关于boot.img的。在如何修改Android系统的Ramdisk以及boot镜像文章中,我们谈到,如果刷boot镜像有问题,就要用别的方法让系统boot我们自己的boot image了,这个别的方法,自然就是用update.zip了。MoDaCo ROM版本的update.zip也包括了一个boot.img,但是如果我们有出于各种需求自己修改的boot.img,自然就可以替换掉原来的了。当然注意,如果加了boot.img,那么update-script里面就不能漏掉
write_raw_image PACKAGE:boot.img BOOT:
这句。
好,到现在,我们的new-update目录下有
/system/app/my.apk
/META-INF/com/google/update-script
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA
boot.img
恩,那么就进入打包阶段。你可能会问,这有什么难的,直接zip一下不就得了。如果要是这么简单就好了,你打包后,必须把你的内容都sign一下,得到相应的cert,才能在fastboot模式中被承认并成功刷机。
在sign你的文件之前,先做这么几件事
打包。进入update文件夹,zip update.zip xxx xxxx xxxx xxxx xxxx。什么意思呢,就是只把你需要的文件打包,不要用./*作为参数。而且相对路径最好是在update下面,不要在外面用zip update.zip ./update/*这种命令打包
去sun网站下载最新的
下载这个文件testsign一定要用JRE1.6.0.16或者更高,我知道这个有点恶心,但是提供下载的testsigh.jar就是按照这个版本或者更高编译的,你用老版本就运行不了。
好,下下来以后,执行这个命令
~/jre1.6.0_16/bin/java -classpath testsign_path/testsign.jar testsign update.zip update-signed.zip
稍微讲解一下,java程序是最新jre下的,testsign_path是你放testsign.jar的地方,建议放到sdk的tool目录下。update是待sign文件,update-signed是指定的生成文件名。
sign执行完后,用unzip -l看,会发现
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA
‘陆’ S3C2440的开发板能移植android系统吗
(一)成为Android高手必须掌握的8项基本要求
【1】 Android操作系统概述
1. Android系统架构。
2. Android利用设计理念。
3. Android 开源知识。
4. Android 参考网站与权威信息。
【2】 Android SDK及其开发环境搭建
1. Android SDK的版本发布。
2. ADT插件的安装和更新。
3. Android利用程序架构。
4. 建立第一个Android项目(HelloAndroid!)。
5. 通过Eclipse导入一个开源项目
6. 可视化的界面开发工具
7. 布置利用程序到Android模仿器或手机
【3】Android源代码开发环境搭建与源码结构分析
1.开发系统主机环境搭建。
2. 安装软件包Required Packages。
3.Ubuntu 6.06 (Dapper)。
4. Ubuntu 8.04。
5. Ubuntu 7.10。
6.Install javva。
7.源码结构分析Android source (kernel / platform/application)。
8. Android build system。
9. Android bring up。
【4】 Android 利用程序设计模型
1. drawable。
2. layout 。
3. values(strings.xml、colors.xml、style.xml 、arrays.xml等)。
4. R.java分析及应用 。
5. AndroidManifest.xml。
6. Android.mk。
7. Activity 。
8. Intent。
9. Service 。
10.ContentProvider。
【5】 Android 利用程序界面(一)
1. TextView的应用。
2. drawable的应用 。
3. 引用Drawable色彩常数及背风景。
4. CharSequence数据类型与ResourceID利用。
5. DisplayMetrics的应用。
6. Style样式的定义。
7. Button事件处理。
8. setContentView的利用。
9. Intent对象的应用。
10. Bundle对象的实现。
11. startActivityForResult法子。
12. AlertDialog窗口。
13. Button与TextView的交互。
14. Typeface对象应用。
15. Gallery对象。
16. 多按钮利用。
17. Menu功效菜单程序设计。
18. ProgressDialog与线程利用。
19. 动态产生按钮并最大化。
20. 选择功效的对话框。
21. Android主题(Theme)实现。
22. 支撑多种分手率的屏幕。
【6】 Android利用程序界面(二)
1. EditText与setOnKeyListener事件。
2.ImageButton的焦点及事件处理。
3. Toast对象的应用。
4. CheckBox的isChecked属性。
5. 多选项CheckBox的利用。
6. RadioGroup组与onCheckedChanged事件。
7. ImageView的堆栈利用。
8. Spinner与setDropDownViewResource。
9. ArrayList与Widget的依附性。
10. Gallery与衍生BaseAdapter容器。
11. JavaI/O的利用。
12.ImageButton选择特效。
13. AutoCompleteTextView与数组。
14. AnalogClock与DigitalClock的原理。
15. DatePicker与TimePicker利用。
16. ImageView点击事件与透明度处理。
17. ProgressBar与Handler的整合利用。
18. GridView与ArrayAdapter设计。
19. ListView的布局。
20. ListActivity与Menu整合技术。
21. JavaI/O与ListActivity的联合。
22. 应用decodeFile法子。
23. 运用Matrix对象来缩放图文件。
24. Bitmap与Matrix旋转ImageView。
25. RadioButtonID。
26. 对话窗口上的ICON图标。
【7】Android 利用交互与手机模块把持
1. PendingIntent与AlarmManager。
2. PendingIntent 与 SmsManager 。
3. Intent 与 Email。
4. 数据存储法子。
5. NotificationManager与Notification。
6. Adapter对象与Cursor。
7. TelephonyManager的利用。
8. RunningTaskInfo的利用。
9. Provider.Contact的应用。
10.Provider.Calendar的应用。
11. Service与Runnable整合并用。
12.BroadcastReceiver与Intent 。
13. receiver与intent-filter。
14. Android网络编程。
15. HTTP恳求与连接。
16. WebView.loadUrl。
17. Webkit 与 WebCore。
18. HttpURLConnection与URLConnection和运行线程。
19. Runnable混搭SurfaceView。
20. Google ApI。
【8】 Android 系统服务
1. Activity Manager。
2. Windows Manager。
3. Surface Manager(surface flinger)。
4. Package Manager。
5. Telephony Manager。
6. Content Provider。
7.Resource Manager。
8. AssetManager。
9. View System。
10.Location Manager。
11. Notification Manager。
12.AlarmManager。
13. BatteryManager。
14. HardwareManage。
15. 如何添加一个新系统Service并开放API。
16. 要害服务。
17. Android系统启动流程。
(二)成为Android高手必须掌握的20项进阶要求
ARM平台 Android 移植与驱动核心开发
Android嵌入式智能操作系统是基于Linux内核和驱动的,对于HTC、华为等公司开发Android操作系统时,需要专门将Android移植到特定硬件平台下,同时将必要的驱动进行编写及开发。本课程旨在让学员成为Android的核心层开发者,让学员在这种嵌入式设备厂商中谋得核心开发人员的职位。
1. Android系统体系及移植相关工具
1.1Android操作系统体系结构介绍。
Android Linux内核移植介绍。
文件系统,toolbox等移植。
存储驱动移植。
Bootloader相应方案与移植。
Android虚拟器Dalvik移植介绍。
1.2ARM处理器介绍。
ARMv5TJS。
ARM中断处理。
ARM体系结构与ARM处理器的体系结构。
IP核、芯片与开发板。
ARM处理器结构处理器模式。
. 寄放器。
. 流水线结构。
C语言内嵌汇编款式与编程实例。
1.3ARM指令系统。
.算术逻辑指令。
.指令对状态寄放器的影响。
.对比指令。
.分支指令。
.移位。
.指令位图。
.辨认机器指令。
1.4内存造访与内存把持。
.数据总线与地址总线的应用与实例。
.STR/LDR 。
1.5ARM历程调用标准。
.LDM/STM。
.反汇编。
.APCS。
.C语言函数与汇编的互相调用。
【案例】应用Android Linux patch进行Linux内核的构建
2. AndroidLinux内核移植与核心开发
2.1ARM处理器的Android系统构建。
2.2输入输出设备驱动移植。
2.3存储设备nand flash,MMC/SD卡驱动移植。
2.4Framebuffer移植。
2.5 Touchscreen移植 。
2.6 Open Binder IPC移植。
【案例】
2.7在ARM处理器上移植Android实验 。
2.8编写Nand flash驱动。
2.9移植Framebuffer驱动。
2.10硬件相关部分(键盘、触摸屏、LCD等)。
3. Android相关环境库、以及Bionic系统移植
3.1libc移植。
3.2libm移植。
3.3libdl移植。
3.4libm移植。
3.5 busybox, toolbox移植。
【案例】
1.移植glibc。
2.移植busybox和toolbox。
4. Android Dalvik移植一
4.1 JNI Call Bridge相关原理 。
4.2 dx, dalvitvm原理和应用。
4.3 Dalvik指令款式。
4.4 Dalvik履行款式dex 。
4.5 Java字节码款式。
5. Android Dalvik移植二
5.1 Dalvik Library原理 。
5.2 dalvit libcore核心库移植。
5.3 dalvit/vm/native移植。
5.4 Dalvik Interpreter原理 。
5.5 Dalvik Mterp。
6. ARMAT&T汇编
6.1AT&T汇编语法详解。
6.2gas工具的应用。
6.3label标签的作用。
6.4数据与代码的散播。
7. 链接脚本ld-script
7.1 段地址的断定。
7.2 编写ld-script。
7.3 ELF款式与libc函数库的关系。
8. 时序电路根基
8.1电平信号。
8.2 电路图分析。
8.3时序图分析。
8.4datasheet查看。
8.5s3c2440的外围器件结构。
8.6GPIO操作。
9. AMBA总线标准
9.1 AMBA总线标准 。
9.2 FCLK/HCLK/PCKL频率分配与设置。
9.3 Watchdog计时操作。
9.4 UART操作。
9.5 ARM中断体系。
9.6 异常向量表。
9.7 ARM模式切换。
9.8 ARM中断把持器。
9.9 软中断。
9.10 Linux系统调用的实现。
10. Nand Flash把持器
10.1 Flash原理。
10.2 Nand把持器原理及时序分板。
10.3k9f1208时序分析。
11. 内存把持器
11.1 s3c2440物理地址散播 。
11.2 SDRAM原理与时序。
11.3 内存把持器的物理连接。
11.4 地址对齐。
11.5 SRAM造访。
12. 内存管理单元
12.1 MMU的原理。
12.2ARM协处理器指令。
12.3 section模式。
12.4 small page模式 。
12.5 I & D TLBs 。
12.6 I & DCache。
12.7 哈佛结构的原理与实现。
13. DMA 直接内存造访的机制与应用
13.1 DMA的状态机 。
13.2 DMA的把持。
14. 触摸屏接口与ADC接口 与实例
14.1 ADC原理。
14.1 触摸屏接口与把持。
15. LCD把持器
15.1 图形显示原理。
15.2 LCD把持器。
15.3 LCD时序。
15.4 LCD驱动相关的框架与体系 。
16. I2S音频总线
16.1音频硬件原理。
16.2 I2S时序。
16.3 s3c2440上I2S的操作。
16.4音频设备的裸驱动讨论。
17. CS8900网卡把持
17.1 逻辑链路层与MAC层。
17.2 CS8900原理与时序分析。
17.3后续网卡裸驱动讨论与体系结构。
18. TCP/IP协议栈移植,与网络体系结构
18.1 LwIP TCP/IP协议栈简介 。
18.2 LwIP配置与编译。
18.3 tftp配置与编译。
19. Bootloader原理与移植
19.1u-boot的配置、编译。
19.2u-boot启动历程分析。
19.3ARM-Linux的启动请求。
19.4 ARM-Linux kernel的ld-sript分析 。
19.5 u-boot到ARM-Linux的跳转代码分析 。
19.6应用mkimage制作启动镜像文件。
20. ARM-Linux原理与移植
20.1ARM-Linux的配置、编译。
20.2ARM-Linux启动代码分析。
20.3ARM-Linux 地址映射的关系。
20.4 Busybox的配置、编译 。
‘柒’ 如何安装Android系统PC移植版 Android-x86
今天在上网本上装了个
android-x86
2.2还不错,我是三星的
nc10,上网本,问题:1、无线网卡型号
ar5007
,驱动不了,比较郁闷
2、弹出对话框后鼠标变得很慢,意外是蓝牙居然可以驱动,等会儿试试有线网卡能用不,软件安装应该不是什么问题,可以在windows
xp下面直接到android系统安装文件的目录里如果连不上网就比较郁闷了
‘捌’ Android系统移植Settings.apk部分子菜单无法打开甚至闪退如何解决
链接位置不对吧,,或者 你系统中不存在这个应用
‘玖’ 苹果手机能否登录安卓的我的世界
这个是不能的,因为苹果是ios系统所以和安卓系统不是一个平台,所以不能联机的。
联机可以知按照以下步骤:两以及两台以上可以玩PE的设备(IPAD IPHONE Itouch samsun moto 山寨机 诺基亚等等)
1、第一步:几台道设备连接无线网(注意,是同一个路由器!)
2、第二步:一个人进入游戏,进入地图版,然后进入暂停菜单,如果第三个方框是“Server is visible"则房间已建成,如果是"Server is invisible则点击它切换成权“Server is visible"
3、第三步:其他三个人点击”Join Game"就可以搜索到房主的房间
4、第四步:去一起冒险吧!