Android 入门 和 环境搭建

1.android是什么

2005
google收购了ANdroid  lnc.  (有可能变成 google mobile)
开始 Dalvik VM的研究

2007
开发手机联盟成立
Sdk1.0预览发布

2008
Google 第一届手机开发者大赛
Google 第一个亲儿子 T-Mobile G1发布
SDK1.01 发布
Android 开发源代码(Apache License)

//------------android 是什么
手机设备的软件栈,包括
一个完整的操作系统
中间件
关键的应用程序

[/code


android 分层
应用层  一用框架层  系统运行库层  linux 内核层

Android 入门 和 环境搭建_第1张图片

//---------android -------------------
底层是linux内核(android (iso系统)
安全管理
内存管理
进程管理(进程之间通信管理)
电源管理
硬件驱动(摄像头,键盘驱动,wifi驱动,音频驱动)
通信管理

//--------Libraries--------------
(系统运行库层,函数库)中间层 将一些底层的操作给暴露出来

surface Manager :读写管理
Open GL |ES: 图形特效,以及一些3D模型的渲染
SGL:一个内置的2D图形引擎

Meda Framework:多媒体播放的一些类容.
Free Type: 安卓下的一些字体效果
SSL:位于TCP/IP协议和各层协议之间,为数据通信提供支持

SQLite : 移动平台下 有名 的 开源数据库管理
WebKit: 开源浏览器的引擎
libc: 标准的 c 的库函数


//-----------Android runtime-----------
Dalibike Virtual Machine:  为了优化了 jvm   侵犯了版权 google重写了运行时
JVM :window  
Core libraies:核心库

//-----------application FrameWork------------  android SDK 
1.Activity Manager: 活动的管理  (打开 ,关闭一个界面)

2.window Manager: 窗体管理者 (弹出,关闭 对一个对话框)

3.Content Providers:内容数据的共享者

4.View System:制定控件运行的先后关系


5.package Manage:程序的管理器 


6.TelePhone Manage: 管理手机上的打电话 发短信

7.Resouce Manager: 资源管理

8.Location Manager:GPS  获取位置 

9.Notification Manager:  短信通知等 


//------------Appliactions-------------------- 手机只带的应用
home;桌面 
phone:拨打电话  
brower:浏览器 
game: 游戏 



//------------比较-------------
JVM                                 Dalvik VM 
.java > .class > .jar               .java > .class  > .dex  >.odex
基于栈的架构  (内存)    < 效率      基于寄存器的架构(存在CPU中的一小块内存)

                                    不支持部分java库,  Swing 和AWT



Android 入门 和 环境搭建_第2张图片
2.android 开发环境的搭建
1.下载 与系统 符合的 JDK http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-sdk-6u3-jdk-6u29-downloads-523388.html
记住要配置 JDK环境变量

2.下载 Android SDK ADT 套件  (包含了eclipse工具啦,这样就不用我们在myeclipse中配置这配那的了)
http://developer.android.com/index.html  -->get  SDK

3.下载后  找到 SDK Manager.exe 运行下 后要下载一些工具 这个 会很慢,一般都不会成功,因为 google中 地址中 "-" 解析不出来 

这里 有个办法: 
所以修改 hosts 文件 
C:\Windows\System32\drivers\etc  -->hosts--> 加入 
74.125.237.1		dl-ssl.google.com 


这样 就可以更新下来了啦


//使用  android  SDK Mansger 来下载一些 需要的工具 平台,支持库 驱动等
Android 入门 和 环境搭建_第3张图片
1.Document For  Android  SKD :帮助文档

2.SDK Platform: SDK平台  下载后,  才能创建这个平台的模拟器,和编译android 代码

3.Samples for SDK : SDK 的实例代码 

4. ARM  : 处理器产商, 处理器的架构  不生产处理器   (摩托罗拉,三星) 95%使用 arm 处理器
  Intel X86 : lenovo  v880  用的比较少  (window 平台上 使用后,模拟器速度会快点)
  MIPS : 有流行的趋势 
  上面都是  cpu 模拟器  

5.Gooogle  API: 比如 google 地图 (mapview) 等

6.Sources for Android SDK : 源码 

----Extras
1.android Support libary : 新的控件 支持 低版本的 用户兼容的 支持库

2.google adWeb  ads  SDK : 广告的 在应用中嵌入 广告  (使用他 赚钱)

3.Google Play Service:

4.Google Play  billing Library:  需要钱的应用   就往帐号上大钱的这样一个支持库

5.Google web Driver: 模拟器的 照相机  使用 电脑的 摄像头的驱动

6.Google USE  driver:  插上手机到 电脑上, 需要的驱动 


//------创建 模拟器 
打开 android2\adt-bundle-windows-x86_64-20130219\eclipse eclipse.exe
里面就可以创建模拟器了
有个 手机 图标 :里面就可以创建 不同平台 不同频宽的 模拟器

Android 入门 和 环境搭建_第4张图片

打开后就可以设置里面  语言啦    你知道的 

//----------启动中出现的一些问题
//--1.eclipse 打开就报错: 应该即使  JDK 安装的版本 不符合你系统的要求
 比如 64位系统  32 位的jdk

//--2.点击  start 模拟器无法运行   
 invalid command -line parameter:  Files\ANdroid\android-sdk\tools/emulator-arm.ext: Hint:usr  @foo to  ....
 方法一: 检测 JDK 安装的路径是不是有中文  有 就就该 
 方法二: 添加 Android_SDK_HOME 环境变量 : 指向 android SDK目录  然后重启 
Android_SDK_HOME :D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk

//--3. 之前 开启过 模拟器 不知道什么原因 这次启动不了
   start 弹出窗下出现   
  
   WARNING: SD Card image already in  use  
   WARNING: Cache partition already in use  ...
  
   其实就是  出现共享数据 持久化 的问题(
   这次启动的模拟器还是用的之前模拟器的数据)

   每个模拟器都对应系统中个一个文件 
   C:\Users\Bin\.android\avd\HVGA.avd  
   只要删除 文件夹里面的 把里面的[文件夹: :twisted: ] 删除掉就可以 (lock)
  
//--4 模拟器没有注册网络  (使用的桥连接 连接window系统的网络)
  修改 本地连接中的 IP只用 自定义Ip   DNS服务器 



//--------SDK 目录中 常见工具的使用
D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk
1.add-ons: 存放一些工具 ,驱动  

2.extras: 附加的一些工具,支持一些jar ,web摄像头的 驱动 

D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk\samples
3.samples: 实例代码   (apiDemo 这个 里面的例子) 可以在模拟器的 API demo 看到效果 
  里面还有很多游戏 和应用    
 示例代码也是分平台的  也需要在  Android SDK Manager 中下载后才有

D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk\platforms
4.platform: 开发支持的平台

D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk\platform-tools
5.platform-tools:平台相关的工具   
  在  cmd 中  运行里面的工具命令  
  adb.exe  :android程序的调试桥(window+ ,360手机助手 等都是这个东西,只是换了外貌)



//------adb.exe 的使用
1.到网站上 下载一个  apk 的程序  就可以使用  adb 来安装 
  http://www.appchina.com/ 到这个网站上去下载 
  com.yingyonghui.market_825_30024412.apk   讲这个工具进行安装 

cmd  --cd d: D:\TDDOWNLOAD\android2\adt-bundle-windows-x86_64-20130219\sdk\platform-tools
adb  install com.yingyonghui.market_825_30024412.apk  --就可以看到模拟器中多了一个安装程序 
adb uninstall com.yingyonghui.market(包名) 就可以卸载了
(也可以通过手机里面应用管理卸载)

adb devices 查找所有的  模拟器  (有多个时候有用)
adb -s emulator-554 inatall com.yingyonghui.market_825_30024412.apk 将这个应用安装到指定的emulator-554 这个模拟器上

adb -s emulator-5554 push file:///C:/Users/Bin/Desktop/getface.jpg  /sdcard/a.jpg
--\将桌面的图片  导入到 模拟器中 

adb -s emulator-5554 pull /sdcard/a.jpg c:\aa.jpg 
--将手机里的图片导入到  桌面
 
ctrl+11 就会变成 横竖屏幕
小键盘的 9 和 7 也可以借还 横竖屏

--配置 adb 的环境变量 
讲 adb的路径 添加到  path路径中去就可以了

如果 我们电脑上装了 windows+  或者 360手机安全卫士的  如果 adb 的版本不同 会出现给一些奇怪的问题  所以 建议卸载 第三方软件


emulator-5554
emulator-5556 
是两个模拟器的 端口号 ,  可以相互之间打电话 和  发短信



//--接下来就来创建我们第一个 HelloWorld 工程  哈哈
不用说啦

file--> new -->Android Application Project-->
Application Name: 安装到手机上的应用名称 
Project Name:项目名称
Package Name:包名

Minimun  Required  SDK :支持最小版本的 应用 一般为 2.1  2.2
Target SDK:支持最大版本的额 应用 目前  4.2
Compile with :编译用的 SDK 版本 
Theme:是否使用的 自动布局

//-->next 
Mark this project as a library: 标记该应用为 一个 项目中的 jar
Create activity: 创建一个窗体  
Create custom launcher icon: 创建一个自定义 图标
Working sets: 此项目需要引用的 其他项目

//-->next
clipart :选择自定义的一个图片

//-->next
Create Activity:创建一个窗体  选择一个系统自定义好的窗体 

//--next
Activity Name:窗体的名称
Layout Name:布局名称 
Navigation Type: 导航类型 

//--OK  创建好了


// ------解释下 项目中的  各个文件的 作用 

Android 入门 和 环境搭建_第5张图片
assets 目录:资产目录,存放一些应用程序的资源文体
Android 4.2.2 :使用的 android  SDK 版本  
libs:三方的支持的jar 包,会自动添加到build path里面
res:应用程序的资源文件
drawable:存放 图片资源

AndroidManifest.xml: 应用程序的清单文件.

gen: 自动生成的 java文件目录
src: java的源代码的存放目录

main 函数
1.读取apk文件 中的 清单文件


软件安装的过程
0.开发工具帮助我们生成apk文件  (安装包)
1.拷贝一些文件到系统的某个目录(windows)

  android: 讲apk文件拷贝到 /data/data/目录下 (创建一个文体)
   /data/data/com.itheima.helloworld/  保存数据
2.在系统的注册表里面配置一些信息(windows)
  android: 下面两个文件就类似注册表文件
  /data/system/package.xml 
  /data/system/package.list
 
 <package name="com.itheima.helloworld" >
 (eclipse 工具 DDMS视图中 就有直接导出这两个文件的 功能 其实就是 使用的 adb pull  命令)


变异资源文件 生存对应的R文件
打包 .java -->.class--> .dev
aapt: android appliaction package tools 工具 
ddms: dalvik debug manager system  
(eclipse 视图中有个 DDMS 视图 
File Explorer:列出该设备中所有的文体 )


你可能感兴趣的:(android,dalvik)