2014-02-23 09:54:16 u012187684 阅读数 388
  • Android底层技术:Linux驱动框架与开发

    于此,将框架(Framework)和设计模式(Design Pattern)应用于Linux驱动开发,说明了如何以面向对象、设计模式和框架概念来看待Linux驱动程序的架构。其直接的益处就是:让我们能基于一致的设计理念来结合Android HAL与Linux两层的驱动开发,规划出整体和谐Android-based软硬整合产品架构。

    22373 人正在学习 去看看 高煥堂
近期,在做关于hook类的东西,从linux转向android的过程中,发现它们的链接机制有所不同,
android上的dlopen这个函数时在linker链接器中的,所以利用这个dlopen来加载自己的so库就相对简单了,但是发现在linux上,dlopen这个函数是在libdl.so中的,而不在ld.so链接器中,那么就有一个问题,我自己写的一个HelloWorld的程序,解析了这个程序的加载时的内存映射,发现内存中只有两个库,就是ld.so和libc.so,一个是动态链接库,另一个是c运行时库,那我就想这个c运行时库肯定是由动态链接器加载的吧,而且动态链接器加载libc.so的时候并没有用到dlopen这个函数,不然的话内存中一定会存在libdl.so这个库才对啊,大家说,我的这点猜想是不是正确呢?
2010-06-23 18:50:11 freeandperson 阅读数 23
  • Android底层技术:Linux驱动框架与开发

    于此,将框架(Framework)和设计模式(Design Pattern)应用于Linux驱动开发,说明了如何以面向对象、设计模式和框架概念来看待Linux驱动程序的架构。其直接的益处就是:让我们能基于一致的设计理念来结合Android HAL与Linux两层的驱动开发,规划出整体和谐Android-based软硬整合产品架构。

    22373 人正在学习 去看看 高煥堂

最近正在转向Linux的环境开发。装了一个openSUSE。呵呵,是我最敬仰的Boss热爱的Linux版本。

So我打算在该平台上搭建android源代码开发平台。

 

研究Linux内核将近半年了,玩linux Os也有1年。但都是陆陆续续的进行。

 

今天就碰到了一个很基础的问题。在安装gnupg的时候,进入目录!发现里面的文件有各种颜色,如何来区分文件的属性以及是否可执行呢。

 

调用ls -l属性,如图:

file description

 

ls命令的-l属性显示文件的详细信息,其中包括权限。

执行ls -l 或 ls -al 命令后显示的结果中,最前面的第2~10个字符是用来表示权限。第一个字符一般用来区分文件和目录:

    d:表示是一个目录,事实上在ext2fs中,目录是一个特殊的文件。
    -:表示这是一个普通的文件。
    l: 表示这是一个符号链接文件,实际上它指向另一个文件。
    b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件。
    s、p:这些文件关系到系统的数据结构和管道,通常很少见到。

在解释权限前,现谈一谈一些基础知识吧。
Linux的用户类型。个人理解,Linux一般作为一个Server,提供很多的服务。通常,偶们都使用一个终端(手机,客户端电脑等)来连接该Linux并且使用它提供的服务。Linux OS根据用户的需求,提出了一个很帮的系统架构---组。
Linux下将访问服务的用户分成:所有着、用户组或其他用户。

第2~10个字符当中的每3个为一组,左边三个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。这三个一组共9个字符,代表的意义如下:
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。
w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
-:表示不具有该项权限。

下面举例说明:

      -rwx------: 文件所有者对文件具有读取、写入和执行的权限。
      -rwxr—r--: 文件所有者具有读、写与执行的权限,其他用户则具有读取的权限。
      -rw-rw-r-x: 文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。
      drwx--x--x: 目录所有者具有读写与进入目录的权限,其他用户近能进入该目录,却无法读取任何数据。
      Drwx------: 除了目录所有者具有完整的权限之外,其他用户对该目录完全没有任何权限。

每个用户都拥有自己的专属目录,通常集中放置在/home目录下,这些专属目录的默认权限为rwx------:
2016-10-29 15:20:32 happyguys12345 阅读数 190
  • Android底层技术:Linux驱动框架与开发

    于此,将框架(Framework)和设计模式(Design Pattern)应用于Linux驱动开发,说明了如何以面向对象、设计模式和框架概念来看待Linux驱动程序的架构。其直接的益处就是:让我们能基于一致的设计理念来结合Android HAL与Linux两层的驱动开发,规划出整体和谐Android-based软硬整合产品架构。

    22373 人正在学习 去看看 高煥堂

1.android系统的是刚开始由安迪鲁兵为相机而生的系统,最后发现手机的市场更大,于是就转向了智能手机


2.android系统有四层组成,从低往上是:linux驱动层、函数库层、APP框架层、应用层。


3.android有两种运行模式:

a.4.4之前只有Davik运行模式

b.到了4.4以后出现了新的ART(android run time)模式,这种模式在安装APP时提前预编译,把代码转换成机器代码,这样做有优势是也有劣势,优势:因为可以省了转换代码的阶段,加快了程序的运行速度,劣势:提前预编译,会造成同一个APP安装时,这样运行模式会更占空间。


4.JVM和DVM

那什么是JVM,DVM呢?-------Java Virtual Machine(Java虚拟机)的缩写,DVM是谷歌在被run公司的告下,自己开发的一款类似JVM的虚拟机

刚开始时,谷歌用的也是JVM,但是后来由于被run公司告了,所以就自己去开发了一款叫DVM的虚拟机,与JVM不同的是把原来一个工程多个文件变成一个大文件,这样可以提高拷贝速度。

Android
2010-08-24 12:47:00 MyWifeJHM 阅读数 535
  • Android底层技术:Linux驱动框架与开发

    于此,将框架(Framework)和设计模式(Design Pattern)应用于Linux驱动开发,说明了如何以面向对象、设计模式和框架概念来看待Linux驱动程序的架构。其直接的益处就是:让我们能基于一致的设计理念来结合Android HAL与Linux两层的驱动开发,规划出整体和谐Android-based软硬整合产品架构。

    22373 人正在学习 去看看 高煥堂

    毕业后,干了两年的PC端的windows开发,对linux开发,嵌入式不是很了解。要说知道的话就是linux有做过开发。第二年的10月花了一个礼拜的时间分析S I P D R O I D源代码,把分析文档夹入简历中去找多媒体(S I P协议相关)嵌入式工作。

    从此我的职业道路有了小小的转向,尽管还是编程,但是对于一个从来没有接触过嵌入式的C++人员来说,还是比较困难的,首先,跟同事交流用到的各种属于从来没听说过,我只能事后补上,这样的日子尽管很累,但也着实踏实,三个月过后,我有了跟同事们交流的基础。开发上也上手了,这嵌入式跟PC软件开发最主要的差别是调试的麻烦。

   PC软件开发调试可以借用工具,嵌入式调试90%情况是采用打印log,堆栈的方式。

2015-03-16 11:26:44 shenmanli 阅读数 562
  • Android底层技术:Linux驱动框架与开发

    于此,将框架(Framework)和设计模式(Design Pattern)应用于Linux驱动开发,说明了如何以面向对象、设计模式和框架概念来看待Linux驱动程序的架构。其直接的益处就是:让我们能基于一致的设计理念来结合Android HAL与Linux两层的驱动开发,规划出整体和谐Android-based软硬整合产品架构。

    22373 人正在学习 去看看 高煥堂

一、培训对象

有一定JAVA开发基础的人员。

二、课程设计思路

   Android是谷歌宣布的基于Linux平台的手机操作系统,通过开发改良逐渐扩展到平板电脑及其他领域上。Android使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。目前很多企业的发展战略都从普通桌面电脑转向便携设备,如何使具有Java开发经验的程序人员迅速转型到Android平台的开发?这就是本课程希望达到的目标。通过本课程学习,希望学员迅速达到以下水准:

1,掌握Android UI控件以及Android Java层API相关使用。

2,掌握Javaconcurrent库,精通xml、json解析。

3,理解socket c/s端的程序。

4,熟练掌握NDK JNI方式开发,充分了解Android framework。

5,熟悉Android开源代码结构,理解中间件下层的库,能够进行Android的高级编程。

本课程的授课方式采用比较法,充分利用学员已有的工作经验,通过与Java原有程序体系的比较分析,不但能够迅速掌握,而且使学员具备可持续发展的能力。

三、师资

张老师  曾在韩国最大的手机游戏开发公司com2us,10年互联网、手机游戏、手机应用开发经验,曾给外企软件公司、大型国企、高校老师做内部软件培训。开发过保险系统、短信网关、wap平台、手机游戏、手机看漫画、手机学英语等软件。

四、培训内容

第一天

上午

1、Android简介

1.1 Android与Iphone比较

1.2 Android体系结构

2、Android开发环境

2.1 安装Android开发环境

2.2 安装JDK和Eclipse

3、Android项目代码反编译和保护

3.1 Android项目代码反编译

3.2 Android项目代码保护

4、Android NDK开发

4.1 NDK简介

4.2 NDK开发环境

4.3 NDK文档和示例

4.4 NDK初级示例

4.5 NDK在视频项目中的应用

第一天

下午

5、 android socket联网

5.1 socket服务器程序分析

5.2 socket客户端发消息

5.3 socket客户端收消息

5.4 心跳包实现

5.5服务器推送实现

6、 android http联网

6.1 AsyncHttpClient框架实现get,post请求

6.2 AsyncHttpClient框架实现文件上传

6.3 证书加密

7、 数据解析

7.1 xml解析

7.2 json解析

第二天

上午

8、 Android用户界面

8.1 用户界面框架介绍

8.2 android自带界面控件 ListView,GridView等使用,事件处理

8.2 自定义adapter,ListView优化

8.3 自定义ListView下拉刷新

8.4 自定义ViewGroup

8.5 webView使用,JavaScript和android互相调用

8.6企业常用view开发框架介绍。

下午

9、 LBS项目实战

9.1 xmpp协议介绍,asmack消息框架使用

9.2 Application使用,Activity使用,Activity启动模式,生命周期

9.3登录模块布局实现

9.4 工作线程联网,android多线程机制,多线程同步

9.5 广播,接收器的使用

9.6 文件存储

9.7 sqlite数据库使用,数据加密

9.8 判断手机有没有网络

9.9 网络状态变化监听

9.10 显示好友模块

第三天

上午

10、 消息处理模块

10.1 发送文本消息

10.2 Base64编码发送图片

10.3 录音, 发语音

10.4 地图显示

10.5 地图GPS定位

10.6 地图添加自定义覆盖物

10.7 地图截图

下午

11、 快速开发框架

11.1 使用ThinkAndroid框架存储功能

11.2 使用ThinkAndroid框架面向对象数据库操作功能

11.3 使用ThinkAndroid框架IOC功能

11.4 使用ThinkAndroid框架MVC功能

11.5 图片下载,缓存,显示框架ImageLoader

11.6 gitHub上常用Android框架介绍。

12、 Android操作系统源码修改

11.1 ubuntu中下载android源码

11.2 源码修改

11.3 Arm开发板上安装android系统

没有更多推荐了,返回首页