android 研究的环境搭建、高效工具、网站资源
================= 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_Dalvik_DEX_Internals.pdf
博客,老罗的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 程序失败问题解决
Genymotion 的模拟器依赖于 x86 上的 virtualbox, 直接运行 arm 架构的 ndk 程序或动态库会失败,需要额外安装一个 arm translation 包
==== android 安全相关 =====
安全的概念非常广,网上资源也很多,但大部分是重复的,而且讲得也不够深入,xkungfoo 系列演讲是能找到的比较干货的资源,分享下:
android 研究的环境搭建、高效工具、网站资源的更多相关文章
- android NDK开发环境搭建
android NDK开发环境搭建 2012-05-14 00:13:58 分类: 嵌入式 基于 Android NDK 的学习之旅-----环境搭建 工欲善其事必先利其器 , 下面介绍下 Eclip ...
- 传智播客C/C++各种开发环境搭建视频工具文档免费教程
传智播客作为中国IT培训的领军品牌,一直把握技术趋势,给大家带来最新的技术分享!传智播客C/C++主流开发环境免费分享视频文档中,就有写一个helloworld程序的示范.火速前来下载吧 所谓&quo ...
- Android自动化测试之环境搭建
Android自动化测试之环境搭建 一.Android-sdk介绍 SDK(Software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包.软件框架.硬件平台. ...
- android测试开发环境搭建
本文档针对未接触过android的0基础人员,在开始熟悉android之前,首先需要一个学习环境来支撑,在此简单介绍一下android环境搭建.(当然大家也可以百度.谷歌,类似的文档很多) 环境搭建: ...
- Android studio 开发环境搭建
Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...
- Android入门之环境搭建
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...
- Android自动化测试-UiAutomator2环境搭建
Android自动化测试-UiAutomator环境搭建(QQ交流群:490451176) 一.环境准备 1. 安装android sdk,并配置环境变量 2. 安装android studio,国内 ...
- Android 开发之环境搭建-0
Android 开发环境安装与配置 一.开发工具介绍 要进行Android应用程序开发,最起码要有两个工具,一个是Android SDK,它不仅为开发人员提供了丰富的编程接口,而且提供了相关的调试工具 ...
- Android 程序分析环境搭建-静态分析环境搭建
1.2 静态分析环境搭建 这里主要讲一些用的比较顺手的工具,一并列出来,Uaa,等环境配置, 2,notepad++ ,everything , Jdgui ,idea, ida ,Fiddler , ...
随机推荐
- POJ:2367-Cleaning Shifts
传送门:http://poj.org/problem?id=2376 Cleaning Shifts Time Limit: 1000MS Memory Limit: 65536K Total Sub ...
- 笔记-python-statement-with
笔记-python-statement-with 1. with语句 1.1. 基础使用案例 在开发时,经常使用with语句来打开文件: with open(‘a.txt’,’a+’, ...
- 使用MD5比较两个文件是否相同
MD5算法:是计算机广泛使用的一种哈希算法,将数据(如汉字)运算为另一固定长度值,用于确保信息传输完整一致.java,C++ 等多种编程语言都有MD5的实现,可直接使用. 文件MD5值:每个文件都可以 ...
- JavaSE——javac、javap、jad
一.javac 用法:javac <选项> <源文件> 其中,可能的选项包括: -help 帮助信息 -g ...
- 20145202马超 《Java程序设计》第二周学习总结
一.课后练习题目 1.D 并没有给number赋值导致出现错误. 2.A 10/3相当于10=3*3+1: 10/3=3. 3.D 4.D 很明显,byte类型的数据的话300就会出现溢出的情况. 5 ...
- Django的Field(字段)
字段 1.models.AutoField 自增列 = int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=Tr ...
- laravel5.5任务调度
目录 1. 定义调度 1.1 使用Closure 1.2 Artisan 命令调度 1.3 队列任务调度 1.4 Shell 命令调度 1.5 调度频率设置 1.6 闭包测试限制 1.7 避免任务重复 ...
- JMeter学习笔记(九) 参数化2--CSV Data Set Config
2.CSV Data Set Config 1)添加 CSV Data Set Confi 2)配置CSV Data Set Config 3)添加HTTP请求,引用参数,格式 ${} 4)执行HTT ...
- selenium启动IE浏览器报错:selenium.common.exceptions.WebDriverException: Message: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode mu
意思是浏览器的保护模式设置不一致所导致 解决方案-->修改IE设置 将所有区域的保护模式勾选去掉即可
- Docker私有仓库Harbor部署与使用
一.harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 由下面几个组件组成: proxy:nginx前端代理,主要是分发前端页面ui访问和镜像上传和下载 ...