=================  2015 年 10 月 14 号 更新

著名的android开源社区xda有一个帖子,详细描述了android开发和研究环境的初始搭建过程:

http://forum.xda-developers.com/chef-central/android/guide-android-rom-development-t2814763

=================  2015 年 2 月 3 号 首发  

对付任何东西,都需要软硬兼施,对付android这家伙,软的招是搜集各种系统的、质量较高的文档及博客,先大概过一篇,看看有没有硬伤(就是自己完全不懂的领域);硬的是搭建源码编译和项目执行环境,实际动刀切进去。

开篇研究,就从这两方面入手,由于这里边有些坑,主要是硬的方面拜大GFW所赐,官方的搭建方式可能会弄得吐血,不得不搜办法绕过,感谢那些搭建了国内镜像站的骚年们,you are so great!

====== 先来软的:  android 书籍、博客

下面是2014年左右新鲜出炉的android书或文档,作者都是神,大概过一遍可以快速了解android技术层面的架构和设计。

Android_Security_Intern__An_In-Depth_Guide_to_Android_s_Security_Architecture.pdf

Android_Hacker_s_Handbook.pdf

Android_Dalvik_DEX_Internals.pdf

Android_ART_OAT_Internals.pdf

博客,老罗的android系列文章非常系统,缺点是版本较低,有一些知识已经不适用的,但不失为一个很好的指导

老罗的android之旅

====== 硬的: android 研究环境搭建

一.  ubuntu14.04 上搭建 android 5 源码编译环境

第一步,下载并安装 ubuntu14.04

第二步,下载android源码

官方下载通道非常慢,这里推荐清华大学的镜像,基本用法是:将 https://android.googlesource.com/ 全部使用git://aosp.tuna.tsinghua.edu.cn/android/ 代替即可。

本人(2015年1月)试过速度还行。

1.下载 repo

git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/

2. 修改repo

google的地址

REPO_URL = 'https://gerrit.googlesource.com/git-repo'

改为清华大学的地址

REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'

3.下载 manifest

google 的地址

$ repo init -u https://android.googlesource.com/platform/manifest

改为清华大学的地址

$ repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest

4.同步源码

repo sync

第三步,安装java

apt-get install  openjdk-7-jdk,  android-5 可以和 opensdk 一起工作了,不需要oracle-jdk

第四步,编译源码

0. 必须为编译机器准备至少4G的内存和80G的磁盘空间,少于4G可能编译的中间会卡死。本人为自己的ubuntu虚拟机划分了6G内存和100G的磁盘空间。

1. 安装依赖的库,

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

2. lunch

选择一种设备

3. make -j3

第五步,执行模拟器

二. win7 上搭建 android studio 项目开发环境

同样,官方的下载渠道几乎无法使用,这里强烈推荐一个国内的android资源小站:http://www.androiddevtools.cn/ , 上面包含了android 开发和研究需要的各种源码、工具的云盘下载链接,非常快速,版本也很新。

1. 在Win7上下载 java 并安装、设置环境变量

2. 下载sdk并安装,如 D:\adt-bundle-windows-x86_64-20140321\sdk

3. 下载 android studio 并安装,关联上述sdk路径

4. 下载sdk资源,这里推荐两种方式,最好的一种是直接从上述网站下载build-tools, platforms, extras, system-images 等各种android组件,然后解压到上述 sdk 路径的相应子路径,重启 android studio ,这种方式比较快。 另外一种是设置 sdk 代理,比如东软的代理:启动 sdk manager, 点击 tools, 点击 option, 设置 http proxy server: mirrors.neusoft.edu.cn, http proxy port: 80, 点击 clear cache , 然后通过 sdk 管理器选择要下载的组件并下载,注意,东软的镜像还是有点慢

====== show time

=================  2015 年 2 月 16 号 更新    ——  Genymotion 加速模拟器

android studio 自带了avd 设备管理器,用于创建模拟器、管理模拟器,与 sdk 管理器配合使用,后者负责加载各种版本的andriod 镜像和build工具等, 其界面如下:

android studio 自带的设备模拟器运行速度比较慢,sdk管理器下载设备镜像等需要能翻墙。比较麻烦,这里介绍一个非常牛逼的模拟器软件: genymotion  , 这哥们牛逼在哪?  —— 不亚于真机的运行速度!

另外,可以非常方便地替换android studio 自带的avd管理器(也不叫不替换了,就是通过安装一个Studio插件增加一个管理器)。安装步骤如下:

1.  从官网 genymotion 下载一个安装软件,并注册账号。在安装过程中,会自动安装 oracle virtualbox 虚拟机。

2.  在android studio 上安装 genymotion 插件, file-settings-Plugins , 点击 browse repositories, 再选择 Genymotion ,安装即可,如下图,安装完后,studio 主界面出现一个类似avd manager的图标,不过是红色的,通过它就可以启动 genymotion 管理器

安装后的图标

3.  也可以直接通过 genymotion 创建和启动模拟器,此时,各种日志自动在 Android studio 的 logcat 等界面出现,非常方便。

=================  2015 年 2 月 16 号 更新    ——  android studio DDMS 给模拟器打电话、发短讯

模拟器无法跟真实网络里的手机打电话,但可以通过studio DDMS模块给模拟器打电话、发短讯

1. 在工具栏选择设备监控器 android device monitor

2. 在打开的控制器里点击 emulator control , 填入电话号码,点击 call 即打电话给模拟器

模拟器内部显示接收了电话

3. android studio avd manager 启动的模拟器可以用上述方法打电话,但Genymotion 启动的模拟器,会报一个错 “Could not open '/sys/class/power_supply/genymotion_fake_path/present'” , 按照这里的方法http://blog.csdn.net/wjr2012/article/details/16359113 也解决不了问题,DDMS 无法和 genymotion 启动 device 交互

参考: http://www.cnblogs.com/ymnets/p/3730044.html

=================  2015 年 3 月 9 号 更新    —— Genymotion 启动的模拟器运行 arm ndk 程序失败问题解决

两步完美解决 androud 模拟器太慢的问题

Genymotion 的模拟器依赖于 x86 上的 virtualbox, 直接运行 arm 架构的 ndk 程序或动态库会失败,需要额外安装一个 arm translation 包

==== android 安全相关 =====

安全的概念非常广,网上资源也很多,但大部分是重复的,而且讲得也不够深入,xkungfoo 系列演讲是能找到的比较干货的资源,分享下:

官网发布版-xkungFoo2014.rar

xkungfoo2015-p0tt1.pdf

xkungfoo2015-大鹰.pdf

xkungfoo2015-朗日.pdf

xkungfoo2015-盘古.pdf

xkungfoo2015-申迪.pdf

xkungfoo2015-玩命.pdf

xkungfoo2015-张仁状.pdf

android 研究的环境搭建、高效工具、网站资源的更多相关文章

  1. android NDK开发环境搭建

    android NDK开发环境搭建 2012-05-14 00:13:58 分类: 嵌入式 基于 Android NDK 的学习之旅-----环境搭建 工欲善其事必先利其器 , 下面介绍下 Eclip ...

  2. 传智播客C/C++各种开发环境搭建视频工具文档免费教程

    传智播客作为中国IT培训的领军品牌,一直把握技术趋势,给大家带来最新的技术分享!传智播客C/C++主流开发环境免费分享视频文档中,就有写一个helloworld程序的示范.火速前来下载吧 所谓&quo ...

  3. Android自动化测试之环境搭建

    Android自动化测试之环境搭建 一.Android-sdk介绍 SDK(Software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包.软件框架.硬件平台. ...

  4. android测试开发环境搭建

    本文档针对未接触过android的0基础人员,在开始熟悉android之前,首先需要一个学习环境来支撑,在此简单介绍一下android环境搭建.(当然大家也可以百度.谷歌,类似的文档很多) 环境搭建: ...

  5. Android studio 开发环境搭建

    Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...

  6. Android入门之环境搭建

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...

  7. Android自动化测试-UiAutomator2环境搭建

    Android自动化测试-UiAutomator环境搭建(QQ交流群:490451176) 一.环境准备 1. 安装android sdk,并配置环境变量 2. 安装android studio,国内 ...

  8. Android 开发之环境搭建-0

    Android 开发环境安装与配置 一.开发工具介绍 要进行Android应用程序开发,最起码要有两个工具,一个是Android SDK,它不仅为开发人员提供了丰富的编程接口,而且提供了相关的调试工具 ...

  9. Android 程序分析环境搭建-静态分析环境搭建

    1.2 静态分析环境搭建 这里主要讲一些用的比较顺手的工具,一并列出来,Uaa,等环境配置, 2,notepad++ ,everything , Jdgui ,idea, ida ,Fiddler , ...

随机推荐

  1. python——numpy_1图像基本操作

    1.图像的数组表示: from PIL import Image from pylab import * from numpy import * im = array(Image.open('E:\P ...

  2. DNS域名解析服务(bind)

    DNS(Domain Name System,域名系统): 用于管理和解析域名与IP地址对应关系的技术. 简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的I ...

  3. Android 浮动按钮+上滑隐藏按钮+下滑显示按钮

    1.效果演示 1.1.关注这个红色的浮动按钮 . 可以看到,上滑的时候浮动按钮消失,因为用户迫切想知道下面的东西,而不是回到顶部. 当下滑的时候,用户想回到原来的位置,就可以点击浮动按钮,快速回到顶部 ...

  4. CSS的z-index & 绝对定位与相对定位

    1.在有些情况下,需要仔细地控制元素在网页中堆叠顺序.z-index样式属性让你能够设置元素的堆叠顺序. 堆叠元素时,z-index值较大的元素在z-index值较小的下面. 2.z-index值仅在 ...

  5. react基本知识点合集

    妹子UI里面有React的相关组件与用法:http://amazeui.org/react/components React官方网站:https://facebook.github.io/react/ ...

  6. USACO Section1.3 Combination Lock 解题报告

    combo解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...

  7. day06_02 元组

    1.0 元组 元组被称为只读列表,即数据可以被查询,但不能被修改,所以,列表的切片操作同样适用于元组.元素卸载小括号(())里,元素之间用逗号隔开. tup1 = () #空元组 tup2 = (20 ...

  8. 孤荷凌寒自学python第六十三天学习mongoDB的基本操作并进行简单封装2

    孤荷凌寒自学python第六十三天学习mongoDB的基本操作并进行简单封装2 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第九天. 今天继续学习mongoDB的简单操作, ...

  9. C# http Post与Get方法控制继电器

    ---恢复内容开始--- using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...

  10. shell中的>&1和 >&2是什么意思?

    当初在shell中, 看到">&1"和">&2"始终不明白什么意思.经过在网上的搜索得以解惑.其实这是两种输出. 在 shell 程 ...