为此,您需要准备
61Mac(Linux的配置类似)一台;
61 工作正常的手机数据线一根;
61android SDK for Mac (墙外下载)
===========adb配置方法==============
1. 下载android SDK并解压,得到同名文件夹一枚,把这个文件夹放到你想放的地方去,记住路径,并且路径中不能有中文字符存在。本文路径以我本人为例,放到了 /Developers里面,具体路径就为/Developer/android-sdk-mac_x86/
2. 下面,打开终端,输入如下命令并回车:
/Developer/android-sdk-mac_x86/tools
会调出Android SDK管理器窗口,依次选择Android Repository > Android SDK Platform-tools, revision 1,然后选择Install Selected,就会安装好adb。
现在退出Android SDK管理器,然后你会发现,在/Developer/android-sdk-mac_x86/这个路径下面多了platform-tools这个文件夹,在这个文件夹里面就有adb。
3. 继续终端中,输入命令:cd ~会进入~文件夹,然后输入:
touch .bash_profile
回车执行后,再输入:
open -e .bash_profile
会在TextEdit中打开这个文件(如果以前没有配置过环境变量,那么这应该是一个空白文档)。
如果有内容,请在结束符前输入,如果没有内容,请直接输入如下语句(路径以我本人为例):
export PATH=${PATH}:/Developer/android-sdk-mac_x86/platform-tools/
然后,保存,退出TextEdit(一定是退出),关闭终端并退出。
======================================adb配置完成===========================
特别注意:当出现
ls command not found
Ⅱ 请问有android开发环境的cpp编译器吗
编译bootloader和Linux Kernel是采用的是独立的ARM交叉编译器,可以在 \10.4.69.249androidepoarm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 获得。编译Android根文件系统和SDK使用的是Android系统自带的交叉编译环境。
使用如下命令安装交叉编译器,建议安装在 /usr/local/ 目录下(需具有root权限)。
[root]$ cd /usr/local/
[root]$ tar xjvf /arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
将交叉编译器的路径添加到对应用户名的.bash_profile 文件中。
[root]$ cd
[root]$ vim .bash_profile
修改其中的PATH一行,在末尾增加交叉编译器的路径,例如:
PATH=$PATH:/usr/local/bin/arm-2008q3/bin
运行如下命令检查交叉编译器是否安装成功,得到如下结果表示安装已经成功。
[root]$ arm-none-linux-gnueabi-gcc ?version
arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2008q3-72) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for ing conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Ⅲ 如何在Android模拟器下添加busybox
【具体步骤】:
1) 下载 busybox 源代码,并解包
$ wget -c http://www点busybox点net/downloads/busybox-1.7.0.tar.bz2
$ tar jxvf busybox-1.7.0.tar.bz2
2) 下载交叉编译工具,并安装
我下载的是: arm-2009q1-161-arm-none-eabi.bin
说明:要正确设置好 PATH 变量。
例如将 “ 你的目录 ”/CodeSourcery/Sourcery_G++_Lite/bin 加到 PATH 路径中。
3 )进入到 busybox 解压后的源文件目录中,修改 Makefile
将第 176 行改为:
CROSS_COMPILE ?=arm-none-linux-gnueabi-
4 )进行编译选项配置
a 、
$ make menuconfig
Busybox Settings --->
Build Options --->
[*] Build BusyBox as a static binary(no shared libs)
说明:这个选项一定要选,这样才能把 busybox 编译成静态链接的可执行文件,运行时可以独立于其他库。
b 、
Installation Options --->
[*] Don't use /usr
说明:这个也一定要选,否则 make install 后, busybox 将安装在原来系统的 /usr 下,将你原有的命令都覆盖了!
5 )配置好后可以编译了,执行如下命令:
$ make
发现没过多久,就报错了,晕,错误内容如下:
applets/applets.c:20:2: warning: #warning Static linking against glibc proces buggy executables
applets/applets.c:21:2: warning: #warning (glibc does not cope well with ld --gc-sections).
applets/applets.c:22:2: warning: #warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
applets/applets.c:23:2: warning: #warning Note that glibc is unsuitable for static linking anyway.
applets/applets.c:24:2: warning: #warning If you still want to do it, remove -Wl,--gc-sections
applets/applets.c:25:2: warning: #warning from top-level Makefile and remove this warning.
applets/applets.c:26:2: error: #error Aborting compilation.
make[1]: *** [applets/applets.o] 错误 1
make: *** [applets] 错误 2
看到它给出了提示,说 glibc 库不适和用来静态编译,最后给出解决方案就是将 applets/applets.c 中这部分内容给去掉,也就是 19-27 行。
然后再 make 进行编译。
不多久又报错了,看看具体错误:
.../compal/CodeSourcery/Sourcery_G++_Lite/bin/../arm-none-linux-gnueabi/libc/usr/include/linux/netfilter.h:56:17: error: field 'in' has incomplete type
.../CodeSourcery/Sourcery_G++_Lite/bin/../arm-none-linux-gnueabi/libc/usr/include/linux/netfilter.h:57:18: error: field 'in6' has incomplete type
ipsvd/tcpudp.c: In function 'tcpudpsvd_main':
ipsvd/tcpudp.c:314:10: warning: ignoring return value of 'write', declared with attribute warn_unused_result
make[1]: *** [ipsvd/tcpudp.o] 错误 1
make: *** [ipsvd] 错误 2
看到说在我们下载的交叉编译库中有个头文件中的 in 及 in6 类型不对,解决的办法就是:
在 .../arm-none-linux-gnueabi/libc/usr/include/linux/netfilter.h 的开头
添加缺少的头文件:
#include <netinet/in.h>
然后再进行编译。(这次可以安全到最后了,呵呵)
结束后会在当前目录下看到 busybox 这个可执行文件。
6 )编译步骤已完成,下面就将 busybox 这个可执行文件放到 Android 模拟器下去
$ adb push busybox /system/xbin
说明:若是出现什么 read-only file system 等等之类,执行如下命令即可:
$ adb remount
要是老是不行,那就重新启动 adb
$ adb kill-server
$ adb start-server
要是碰到什么内存不足等等,那原因就是你的那个 Android 模拟器是用 Eclipse 打开的。解决办法就是,手动启动你的 Android emulator 模拟器,具体如下:
$ android list avd # 注释:列出你所有的模拟器
$ emulator -avd your_emulator_name -partition-size 256
注意:最好放在 /system/xbin 下面,这样当你在模拟器里使用 busybox 时不需要指定绝对路径了,否则的话谁都会疯掉嘛,呵呵。
7 )输入 adb shell 进入终端,执行看看
# busybox --help
BusyBox v1.7.0 (2011-04-22 20:53:21 CST) multi-call binary
Copyright (C) 1998-2006 Erik Andersen, Rob Landley, and others.
Licensed under GPLv2. See source distribution for full notice.
…
说明:表明我们的 busybox 已经可以执行了。但同时又有一个问题,每次输入一个命令都要加上 busybox ,那么人又要疯掉了, -_-! 。解决办法就是,我想到可以使用 alias 命令嘛,给我们所有输入的东西都自动加上 busybox ,具体如下:
【方法 1 】:
将你所感兴趣的命令集中在一个脚本中打包,例如建立内容如下的脚本:
#!/bin/sh
# set_alias1.sh (当然你名字可以随便改,越短越好,但不要和命令重名)
alias ls='busybox ls'
alias find='busybox find'
…
保存好后,将其 push 到模拟器中的 /system/xbin 下面,然后用 adb shell 进入到模拟器终端后执行如下命令:
# . set_alias1.sh # 注释:在当前进行中执行该脚本(一定要有 " 点 " )
【方法 2 】:
以上方法虽然能解决问题,但总觉得添加这么多东西也怪烦人的,写个智能点的脚本:
xxx:~/code/shellcode$ cat set_alias.sh
#!/bin/bash
# set_alias.sh
pre_handle_result=$(busybox echo -n $(busybox --help) | busybox grep -v '^/t')
pre_cmds=${pre_handle_result##*[[, }
sec_cmds=$(busybox echo -n $pre_cmds | busybox sed 's/,//g')
for cmd in $sec_cmds
do
# alias cmds
alias $cmd="busybox $cmd"
done
然后将其 push 到模拟器中的 /system/xbin 下,执行过程如上。
Ⅳ android系统编译能用分布式编译吗
项目越来越大,每次需要重新编译整个项目都是一件很浪费时间的事情。Research了一下,找到以下可以帮助提高速度的方法,总结一下。
1. 使用tmpfs来代替部分IO读写
2.ccache,可以将ccache的缓存文件设置在tmpfs上,但是这样的话,每次开机后,ccache的缓存文件会丢失
3.distcc,多机器编译
4.将屏幕输出打印到内存文件或者/dev/null中,避免终端设备(慢速设备)拖慢速度。
tmpfs
有人说在Windows下用了RAMDisk把一个项目编译时间从4.5小时减少到了5分钟,也许这个数字是有点夸张了,不过粗想想,把文件放到内存上做编译应该是比在磁盘上快多了吧,尤其如果编译器需要生成很多临时文件的话。
这个做法的实现成本最低,在Linux中,直接mount一个tmpfs就可以了。而且对所编译的工程没有任何要求,也不用改动编译环境。
mount -t tmpfs tmpfs ~/build -o size=1G
用2.6.32.2的Linux Kernel来测试一下编译速度:
用物理磁盘:40分16秒
用tmpfs:39分56秒
呃……没什么变化。看来编译慢很大程度上瓶颈并不在IO上面。但对于一个实际项目来说,编译过程中可能还会有打包等IO密集的操作,所以只要可能,用tmpfs是有益无害的。当然对于大项目来说,你需要有足够的内存才能负担得起这个tmpfs的开销。
make -j
既然IO不是瓶颈,那CPU就应该是一个影响编译速度的重要因素了。
用make -j带一个参数,可以把项目在进行并行编译,比如在一台双核的机器上,完全可以用make -j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源。
还是用Kernel来测试:
用make: 40分16秒
用make -j4:23分16秒
用make -j8:22分59秒
由此看来,在多核CPU上,适当的进行并行编译还是可以明显提高编译速度的。但并行的任务不宜太多,一般是以CPU的核心数目的两倍为宜。
不过这个方案不是完全没有cost的,如果项目的Makefile不规范,没有正确的设置好依赖关系,并行编译的结果就是编译不能正常进行。如果依赖关系设置过于保守,则可能本身编译的可并行度就下降了,也不能取得最佳的效果。
ccache
ccache工作原理:
ccache也是一个编译器驱动器。第一趟编译时ccache缓存了GCC的“-E”输出、编译选项以及.o文件到$HOME/.ccache。第二次编译时尽量利用缓存,必要时更新缓存。所以即使"make clean; make"也能从中获得好处。ccache是经过仔细编写的,确保了与直接使用GCC获得完全相同的输出。
ccache用于把编译的中间结果进行缓存,以便在再次编译的时候可以节省时间。这对于玩Kernel来说实在是再好不过了,因为经常需要修改一些Kernel的代码,然后再重新编译,而这两次编译大部分东西可能都没有发生变化。对于平时开发项目来说,也是一样。为什么不是直接用make所支持的增量编译呢?还是因为现实中,因为Makefile的不规范,很可能这种“聪明”的方案根本不能正常工作,只有每次make clean再make才行。
安装完ccache后,可以在/usr/local/bin下建立gcc,g++,c++,cc的symbolic link,链到/usr/bin/ccache上。总之确认系统在调用gcc等命令时会调用到ccache就可以了(通常情况下/usr/local /bin会在PATH中排在/usr/bin前面)。
安装的另外一种方法:
vi ~/.bash_profile
把/usr/lib/ccache/bin路径加到PATH下
PATH=/usr/lib/ccache/bin:$PATH:$HOME/bin
这样每次启动g++的时候都会启动/usr/lib/ccache/bin/g++,而不会启动/usr/bin/g++
效果跟使用命令行ccache g++效果一样
这样每次用户登录时,使用g++编译器时会自动启动ccache
继续测试:
用ccache的第一次编译(make -j4):23分38秒
用ccache的第二次编译(make -j4):8分48秒
用ccache的第三次编译(修改若干配置,make -j4):23分48秒
看来修改配置(我改了CPU类型...)对ccache的影响是很大的,因为基本头文件发生变化后,就导致所有缓存数据都无效了,必须重头来做。但如果只是修改一些.c文件的代码,ccache的效果还是相当明显的。而且使用ccache对项目没有特别的依赖,布署成本很低,这在日常工作中很实用。
可以用ccache -s来查看cache的使用和命中情况:
cache directory /home/lifanxi/.ccachecache hit 7165cache miss 14283called for link 71not a C/C++ file 120no input file 3045files in cache 28566cache size 81.7 Mbytesmax cache size 976.6 Mbytes
可以看到,显然只有第二编次译时cache命中了,cache miss是第一次和第三次编译带来的。两次cache占用了81.7M的磁盘,还是完全可以接受的。
distcc
一台机器的能力有限,可以联合多台电脑一起来编译。这在公司的日常开发中也是可行的,因为可能每个开发人员都有自己的开发编译环境,它们的编译器版本一般是一致的,公司的网络也通常具有较好的性能。这时就是distcc大显身手的时候了。
使用distcc,并不像想象中那样要求每台电脑都具有完全一致的环境,它只要求源代码可以用make -j并行编译,并且参与分布式编译的电脑系统中具有相同的编译器。因为它的原理只是把预处理好的源文件分发到多台计算机上,预处理、编译后的目标文件的链接和其它除编译以外的工作仍然是在发起编译的主控电脑上完成,所以只要求发起编译的那台机器具备一套完整的编译环境就可以了。
distcc安装后,可以启动一下它的服务:
/usr/bin/distccd --daemon --allow 10.64.0.0/16
默认的3632端口允许来自同一个网络的distcc连接。
然后设置一下DISTCC_HOSTS环境变量,设置可以参与编译的机器列表。通常localhost也参与编译,但如果可以参与编译的机器很多,则可以把localhost从这个列表中去掉,这样本机就完全只是进行预处理、分发和链接了,编译都在别的机器上完成。因为机器很多时,localhost的处理负担很重,所以它就不再“兼职”编译了。
export DISTCC_HOSTS="localhost 10.64.25.1 10.64.25.2 10.64.25.3"
然后与ccache类似把g++,gcc等常用的命令链接到/usr/bin/distcc上就可以了。
在make的时候,也必须用-j参数,一般是参数可以用所有参用编译的计算机CPU内核总数的两倍做为并行的任务数。
同样测试一下:
一台双核计算机,make -j4:23分16秒
两台双核计算机,make -j4:16分40秒
两台双核计算机,make -j8:15分49秒
跟最开始用一台双核时的23分钟相比,还是快了不少的。如果有更多的计算机加入,也可以得到更好的效果。
在编译过程中可以用distccmon-text来查看编译任务的分配情况。distcc也可以与ccache同时使用,通过设置一个环境变量就可以做到,非常方便。
总结一下:
tmpfs: 解决IO瓶颈,充分利用本机内存资源
make -j: 充分利用本机计算资源
distcc: 利用多台计算机资源
ccache: 减少重复编译相同代码的时间
这些工具的好处都在于布署的成本相对较低,综合利用这些工具,就可以轻轻松松的节省相当可观的时间。上面介绍的都是这些工具最基本的用法,更多的用法可以参考它们各自的man page。
5.还有提速方法是把屏幕输出重定向到内存文件或/dev/null,因对终端设备(慢速设备)的阻塞写操作也会拖慢速度。推荐内存文件,这样发生错误时,能够查看。
Ⅳ 最近在学习开发安卓,搭建环境时碰到了几个问题,eclipse哪个版本的适合开发安卓,怎么安装ADT最新版本的
安装SDK
这里主要介绍如何安装Android的SDK开发包和配置开发环境。如果你还没有下载SDK,点击下面的链接开始。
Download the Android SDK
系统和软件配置要求
要通过Android
SDK中提供的代码和工具进行Android应用程序的开发,需要一个合适的用于开发的电脑和合适的开发环境,具体要求如下:
支持的开发环境
Eclipse
Eclipse 3.2,3.3(Europa)
Android开发工具插件(可选)
其他的开发环境或者IDE
JDK5.0或者JDK6.0(仅有JRE是不够的)
安装SDK
下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,我们默认你的SDK安装目录为$SDK_ROOT 你可以选择将$SDK_ROOT/tools加入到你的路径中
1.Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。如果没有找到设定PATH变量的行,你可以自己添加一行:
export PATH=${PATH}:<你的$SDK_ROOT/tools的完全路径>
2.Mac下,在你的home目录中找到文件.bash_profile,和Linux的一样处理。如果还没有在机器上设定这个文件,你可以创建一个.bash_profile文件。
3.Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加入其中。
通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。需要注意到是,当你升级了SDK后,如果安装路径有变动的话,不要忘记了更新你的PATH变量的设置,将其指向变动后的路径。
安装Eclipse插件(ADT)
如果你选择Eclipse作为Android的开发环境,可以安装一个专门为Android定制的插件:Android Development Tools(ADT),ADT插件集成
了对Android工程和工具的支持,它包含了大量功能强大的扩展,使得创建、运行、调试Android程序更简单更快捷。
如果你不打算使用Eclipse,那么就不需要下载或者安装ADT插件。
为了下载和安装ADT插件,请按照下面的步骤设置Eclipse的远程更新站点:
1.启动Eclipse,依次选择Help
> Software Updates > Find and Install....
此主题相关图片如下:
2.在弹出的窗口中,选择Search for new
features to install,然后点击Next
3.点击New Remote Site
4.在弹出的对话框中,为远程站点输入一个自定义的名字(例如:Android Plugin),然后输入下面的内容作为其默认的URL:然后点击OK
https://dl-ssl.google.com/android/eclipse/
5.现在你应该可以在搜索列表中看见刚才新加入的站点了(默认已经选中了),点击Finish
6.在随后的Search Results对话框中,选中Android Plugin > Eclipse Integration > Android Development
Tools,然后点击Next
7.阅读许可协议,然后选择Accept terms of the license
agreement,点击Next
8.点击Finish
9.ADT插件没有signed,在安装过程中会弹出确认窗口,你只需要点击 Install All就可以了
10.重启Eclipse
11.重启后,在Eclipse的Preferences中指定SDK的路径:
a.选择Window >
Preferences...打开Preference的面板。(Mac
OS X:Eclipse > Preferences)
b.在左侧的面板中选择Android
c.在主面板中,点击Browse...定位到SDK的目录
d.点击Apply,然后点击OK
更新ADT插件
按照下面的步骤将你的ADT插件升级到最新版本:
1.选择Help > Software Updates > Find
and Install...
2.选择Search for updates of the currently
installed features,然后点击Finish
3.如果ADT插件有任何更新,选择并且安装
第二篇:创建一个hello Android工程
创建一个新项目是很简单的,只要你安装了Android SDK,并且你的Eclipse软件版本在3.2或3.3,你就可以开始开发了。
首先, 看一下要创建"Hello, World"程序从高级层面上有哪些步骤:
1, 通过File -> New ->
Project 菜单,建立新项目"Android Project"
2, 填写新项目各种参数。
3, 编辑自动生成的代码模板。
尽此而已,我们通过下面的详细说明来完成每个步骤。
1,创建一个新的Android项目
启动Eclipse,
选择File -> New -> Project 菜单, 如果你安装好了Android的Eclipse插件,你将会在弹出的对话框中看到"Android Project" 的选项。
此主题相关图片如下:
选择“Android
Project”,点击Next 按钮。
2, 填写项目的细节参数.
下面的对话框需要你输入与项目有关的参数:
此主题相关图片如下:
这个表格中详细介绍了每个参数的含义:
Project Name: 包含这个项目的文件夹的名称。
Package Name: 包名,遵循JAVA规范,用包名来区分不同的类是很重要的,例子中用到的是"com.google.android",你应该按照你的计划起一个有别于这个的路径的名称。
Activity Name: 这是项目的主类名,这个类将会是Android的Activity类的子类。一个Activity类是一个简单的启动程
序和控制程序的类。它可以根据需要创建界面,但不是必须的。
Application Name:一个易读的标题在你的应用程序上。
在"选择栏"的"Use default location" 选项,允许你选择一个已存在的项目。
3,编辑自动生成的代码。
当项目创建后,你刚才创建的HelloAndroid就会是包含下面的代码.
public class
HelloAndroid extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main);
}
}
下面我们开始修改它
[构建界面]
当一个项目建立好以后,最直接的效果,就是在屏幕上显示一些文本,下面是完成后的代码,稍后我们在逐行解释。
public class
HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
TextView tv = new
TextView(this);
tv.setText("Hello,
Android");
setContentView(tv);
}
}
注意你还需要添加 import android.widget.TextView; 在代码开端处。
在Android程序中, 用户界面是由叫做Views类来组织的。一个View可以简单理解为可以绘制的对象,像选择按钮,一
个动画,或者一个文本标签(这个程序中),这个显示文本标签的View子类叫做TextView.
如何构造一个TextView:
TexiView tv = new
TextView(this);
TextView的构造参数是Android程序的Context实例, Context可以控制系统调用, 它提供了诸如资源解析, 访问数据库等
等。Activity类继承自Context类,因为我们的HelloAndroid 是Activity的子类,所以它也是一个Context类,所以我们能用"this"在TextView构造中。
当我们构造完TextView后,我们需要告诉它显示什么:
tv.setText("Hello,
Android");
这个步骤很简单,当我们完成了这些步骤以后,最后要把TextView显示在屏幕上。
setContentView(tv);
Activity的setContentView()方法指示出系统要用哪个View作为Activity的界面, 如果一个Activity类没有执行这个方法,将会没有界面并且显示白屏。在这个程序中,我们要显示文本,所以我们传入已创建好的TextView。
好了,程序代码已经写好,下面看看运行效果。
运行代码:
Hello, Android
使用Android的Eclipse插件就可以很轻松的运行你的程序,选择Run -> Open Run
Dialog。你将会看到下面的对话框
此主题相关图片如下:
下一步,高亮"Android Application" 标签, 然后按下左上角的图标(就是像一片纸带个小星星那个),或者直接双击"Android Application" 标签, 你将会看到一个新的运行项目,名为"New_configuration".
此主题相关图片如下:
取一个可以表意的名称,比如"Hello, Android", 然后通过Browser按钮选取你的项目(如果你有很多个项目在Eclipse中,确保你选择要运行的项目), 然后插件会自动搜索在你的项目中的Activity类并且将所有找到的添加在"Activity"标签的下拉列表中。我们只有"Hello,
Android"一个项目,所以它会作为默认选择。
点击"Apply"
按钮,下图
此主题相关图片如下:
到这里,已经完成了,你只需要点击"Run"按钮,然后 Android的模拟器将会启动,你的应用程序就会被显示出来。
此主题相关图片如下:
Ⅵ 如何在mac本上安装android sdk
总结下大概的过程如下:1.首先应该准备好mac平台的eclipse,找到适合的版本(在此,我选3.5),并解压安装;2.下载mac版本的androidsdk,解压到指定的目录(其实这个只是个SDK与AVD配置的管理软件);3.安装FastbootforMacOS插件,fastboot是刷系统ROM的一种工具,刷系统img和射频img;另一种工具是adp。4.下载完成后将Fastboot复制到/androidsdk/tools目录下(如果SDK包中包含fastboot,可跳过此步骤)打开终端,输入下面的命令来创建一个新的.bash_profile文件[xhtml]viewplainpico.bash_profile在新出现的修改提示中输入[c-sharp]viewplainexportPATH=$PATH:/AndroidSDK/tools按“control+X”保存(确认按“Y”),然后退出并重启终端,至此,MacOSX下就可以使用Adb和Fastboot工具了.本来说是还要需要安装ADB的,但是在tools目录下已经有了,省事,跳过.5.打开tools目录下的android,进行下载和配置SDK版本及AVD.#FormatImgID_0#6.到eclipse升级里输入[c-sharp]viewplain安装ADTPlugin,使得刚才所装的SDK能与eclipse相结合;:7.开始创建HelloWorld,.#FormatImgID_1#在MaxOS下搭建AndroidSDK不需要Fastboot。eclipse+adp,就可以了。
Ⅶ 如何在 Mac 下搭建 Android 编译环境 for quick v3
### 安装最新的 Android ADT bundle 和 Android NDK
下载 Android 所需
1. adt-bundle-mac-x86_64_20140321.zip
2. android-ndk-r9d-darwin-x86_64.tar.bz2
3. android-8.zip
* 将 adt-bundle-mac-x86_64-2013???? 目录改名为 android
* 将 android/sdk 目录改名为 android/android-sdk-macos
* 将 android-*.zip 解压到 android/android-sdk-macos/platforms/
* 移动目录 android-ndk-r? 到 android/android-ndk-r?
最终的目录结构:
```
<PATH_TO>/android/android-ndk-r?
<PATH_TO>/android/android-sdk-macosx
<PATH_TO>/android/android-sdk-macosx/platforms/android-?
<PATH_TO>/android/eclipse
```
运行 android/android-sdk-macosx/tools/android, 可以看到 Android 2.2 已经安装好.
### 设置环境变量
~/.bash_profile 中添加以下代码:
```
ANDROID=/Users/mac/Documents/SDK/android
export ANDROID_NDK_ROOT=${ANDROID}/android-ndk-r9d
export ANDROID_SDK_ROOT=${ANDROID}/android-sdk-macosx
export ANDROID_HOME=${ANDROID_SDK_ROOT}
```
完毕 ~
Ⅷ 如何使用Android Studio中的git插件
1
下载安装git for windows,安装好的可以略过,默认安装在C:Program FileGit下。修改了安装位置的需要记住修改后的位置。
0Win10下安装Git for windows
Ⅸ android 的shell中如何使用while和for,我需要实现100次循环dd命令。
你这种for loop语句适用于bash,在android默认sh中是会报语法错误的。
脚本:
#!/system/bin/bash
for ((i=1;i<100;i++)
do
循环体语句
done
Ⅹ 本人已成功将gcc,g++,gcj,gfrotran,make,bash,binutils,等等移植到arm构架的安卓手机!
我也搞出来了,bash是自己做rom刷进去的,因为我的没有recovery
gcc g++ make从安装好的和谐版c4droid提取
python lua perl等从sl4a提取
最后给bash设环境变量,就可像电脑那样在bash里使用了
楼主提的其他东西我表示不知道。因为我不是学计算机的。
灵动本来就是x86,所以意义不大。
做这个是为了在arm上做arm程序,其意义非凡。
有人说不能运行大型程序,试问,你搞学习,开头就做大型程序嘛。当你看见别人为了实现helloworld而你只用手机就实现了,其意义不言而喻。
此外,gcc是编译器,不是运行程序的,在电脑上编译好,和在手机上编译好,最后拿到手机上运行好像没有什么运行快慢的区别。