1. Android源码可以编译出android SDKadb等工具、android文件系统,以及ADT插件,也就是说,我们可以从android源码编译出所有android相关的东西。

2. 获取当前时间的后一个月

Date currentTime = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentTime);
calendar.add(Calendar.MONTH, backup.getInterval_months());
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(formatter.format(calendar.getTime()));

3. make -j 命令行参数指同时运行命令的个数。如果没有这个参数,make运行命令时能运行多少就运行多少。如果有一个以上的“-j”参数,那么仅最后一个“-j”才是有效的。(注意这个参数在MS-DOS中是无用的)

4.ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机).

它的主要功能有:
  * 运行设备的shell(命令行)
  * 管理模拟器或设备的端口映射
  * 计算机和设备之间上传/下载文件
  * 将本地apk软件安装至模拟器或android设备

ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.

先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk里. 设备上不需要安装, 只需要在手机上打开选项settings-applications-development-USBdebugging.

对于Mac和Linux用户, 下载好的sdk解压后, 可以放~或者任意目录. 然后修改~/.bash_profile文件, 设置运行环境指向sdk的tools目录.(最新的版的已经移动到platform-tools下)

5.Linux export命令

  1. 功能说明:设置或显示环境变量。      语 法:export [-fnp][变量名称]=[变量设置值]      补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登录操作
       2. 声明全局变量,可以被其子shell使用。
6. ubuntu环境变量在/etc/environment 定义初始化,在其他配置文件中可通过export 追加。
7. ubuntu 11.10 编译Android4.0.3时遇到的错误:    make: *** [out/host/linux-x86/obj/EXECUTABLES/clang_intermediates/clang]
   /bin/bash: out/host/linux-x86/bin/clang: 权限不够
 Install: out/host/linux-x86/bin/clang
 /bin/bash: out/host/linux-x86/bin/clang: 无法执行二进制文件 make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libclcore.bc_intermediates/rs_cl.bc] 错误 126
   target Strip: libwebcore (out/target/product/generic/obj/lib/libwebcore.so)
 prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-strip:out/target/product/generic/symbols/system/lib/libwebcore.so: File format not recognized make: *** [out/target/product/generic/obj/lib/libwebcore.so] 错误 1
 在网上搜索,没有找到一模一样的问题,但做了以下两项修改。这里面有的问题是通过重新编译就解决的,也不知道以下的两个解决办法到底起作用了没有。
  个人总结:  除了按照官方网站推荐的编译环境进行正确配置外,编译的时候还要有耐心,我是足足折腾了两天才编译成功,期间死了五次机,遇到了上边的编译问题,在网上搜索,没有找到和我遇到问题相同的童鞋,遇到感觉沾上点边的就试试,好像也没起什么作用,最后make clean ,重新编译,还是出问题,在make clean什么都不做,就两只眼瞪着终端,最终取得了胜利。另外要说一点,下载的源代码有3.7G,使用make完全编译出12.8G的东西,所以系统磁盘要留足空间。为避免出错和死机,最好什么都不要做,连网页也别看了,准备好零食或闲书就可以了,我的机子是2G的内存,i5处理器双核2.3G,整个过程历时六个小时(期间死过一次机) 
 初始化编译环境 . build/envsetup.sh


由于Ubuntu11.10采用了GCC4.6.1,版本太高。

解决:
使用gcc4.4.6版本进行编译.

Ubuntu11.10的gcc版本是4.6.1,版本太高,编译Android时出错,要把gcc版本改为4.4.6, 4.5的版本据说可以,但没试过.
通 过gcc -v命令可以发现gcc库在/usr/lib/gcc/i686-linux-gnu目录下,该目录下有当前系统支持的各种版本gcc库 。在安装gcc 4.4前该目录下是没有4.4目录的,安装gcc 4.4后该目录下就会多出4.4这个目录,且该4.4目录下有各种相应库文件。
Ubuntu32bit系统下安装gcc 4.4的最好方法是仅用以下两条命令,不需要其它命令,否则编译时可能会出错。
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4


装完后在/usr/bin目录下
$ ls -l gcc*
lrwxrwxrwx 1 root root 7 2011-10-29 09:11 gcc -> gcc-4.6
-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4
-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6
发现gcc 链接到gcc-4.6, 需要将它改为链接到gcc-4.4 :
sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc
同理
ls -l g++*
lrwxrwxrwx 1 root root 7 2011-08-14 15:17 g++ -> g++-4.6
-rwxr-xr-x 1 root root 228640 2011-10-06 05:45 g++-4.4
-rwxr-xr-x 1 root root 306200 2011-09-17 05:39 g++-4.6
需要将g++链接改为g++-4.4:
/usr/bin$ sudo mv g++ g++.bak
/usr/bin$sudo ln -s g++-4.4 g++


再查看gcc和g++版本号:
gcc -v
g++ -v
均显示gcc version 4.4.6 ,说明gcc 4.4安装成功。
测试:
编译Android,从2011-10-29 23:58开始,到2011-10-30 01:42编译完成,没有错误。这验证了gcc 4.4安装正确,也验证了android文件与高版本的gcc不兼容。



更多相关文章

  1. 创建 Android虚拟设备(AVD)
  2. Android cmd 命令常用参数详解
  3. Android开发SDK版本号和API level对照表,到Android 10.0
  4. Android官方命令深入分析之Hierarchy Viewer
  5. Android设备唯一标识ID的获取
  6. 终于找到一个类似wince 远程桌面控制android设备的软件——Andro
  7. Android中pm命令用法详解

随机推荐

  1. 在ubuntu环境下编译 ffmpeg for android
  2. android 这 Gallery的使用
  3. android检测退出
  4. Android之模仿QQ保存账号密码
  5. Android 系统调用
  6. Android Wear书签
  7. Android 垂直Seekbar
  8. 当程序运行时强制屏幕一直活动不被关掉
  9. android googleMap demo
  10. 开源可翻折的TextViewExpandableTextView