http://www.linuxidc.com/Linux/2011-10/44236.htm

JDK的安装:

Linux Mint 13 中自带有OpenJDK,但这个不是我想要的,我们要的是sun-java6。

1、在安装sun的jdk前,先删除OpenJDK,打开新立得,搜索OpenJDK,彻底删除所有的包。

或者执行 sudo apt-get autoremove openjdk-6-jre

2、在sun的官网上http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html 下载最新的安装文件(如:jdk-6u34-linux-x64.bin)。

增加执行权限:sudo chmod u+x jdk-6u34-linux-x64.bin

将安装文件拷贝到 /usr/lib/java/ 目录下

执行安装命令  ./jdk-6u34-linux-x64.bin

成功安装完JDK后,接下来我们将要进行JDK的配置,使用命 $ sudo gedit /etc/environment 对environment文件进行修改并添加以下代码:

    PATH="/usr/lib/java/jdk1.6.0_34/bin"

    CLASSPATH="/usr/lib/java/jdk1.6.0_34/lib"

    JAVA_HOME="/usr/lib/java/jdk1.6.0_34"

若PATH已存在,则用冒号作间隔,将jdk的bin目录地址加上,这样java的环境变量将配置成功了,但这样默认使用的JDK可能还不是我们 刚才安装的,因为ubuntu可能还会有默认的jdk,如openjdk;所以,为了使默认使用的是我们安装的jdk,还需执行如下命令:

    $ sudo update-alternatives --install /usr/bin/java java /usr/lib/java/jdk1.6.0_34/bin/java 300

    $ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/java/jdk1.6.0_34/bin/javac 300

    $ sudo update-alternatives --config java

成功执行命令后,我们安装的JDK就是系统默认的了,执行命令 $ java -version  就可以成功看到 JDK的相关信息了如:

    java version "1.6.0_34"

    Java(TM) SE Runtime Environment (build 1.6.0_34-b04)
    Java HotSpot(TM) 64-Bit Server VM (build 20.9-b04, mixed mode)

一、步骤如下:

$ cd [android系统所在目录]    //先进入到要编译的目录下面

$  .   build/envsetup.sh  //这个脚本用来设置ANDROID的编译环境(注意  . 后面有一个空格)

$  choosecombo   //这个命令也要再 build 目录下年进行,他是用来选择编译目标(如目标硬件屁股你太、eng还是user等)。一般而言,厂商会设置自己特有的编译选项

补充:执行玩上面两个步骤就可以编译系统了,android平台提供了三个命令用于编译:make、mmm、mm,使用方法与环境如下:

make:不带任何参数,用于编译整个系统,时间比较长,若不想编译整个系统 最好不要用

make  + 模块名称:编译单个模块,会把与他有关的模块一起编译,

mm:这个命令要进入源码目录使用,他只编译当前目录下的模块,他和mmm一样的

注意:如果知道模块名称,则用 make + 模块名 即可 ;如果不知到模块名称但知道模块所在目录,用mmh或者 mmm,这两个编译时间比较短

$    make     //编译整个源码

说明:要想编译单个工程的源码,必须先把整个工程的源码编译一遍,然后再对单个源码进行编译

android 模块编译,mm 命令

如果你只需要修改某一个模块的内容,但是却每次都要执行make, 最后等待很长时间。
使用模块编译,那只需要在你所在的模块的目录或者其子目录,执行mm,便可以编译出一个单独的apk,这样岂不快哉!
具体步骤:
        1)打开~/.baserc文件,加入source ~/I850/build/envsetup.sh. 加入你自己该文件所在的路径,这样就免去了每次启动新的终端执行mm命令之前,需要引用此文件。
        2)完成步骤1之后,就可以在你的模块里面随意执行mm了,要想使用其他快速命令,可以查看envsetup.sh文件,比如cgrep,jgrep,resgrep在不同类型的文件里面进行相应的查询。还有m,mmm等等
        3)还可以使用adb push 将你的apk push到模拟器或者手机终端,也可以在工程根目录通过make -snod生成新的system.img

二、找编译源码后对应的apk的位置路径:

/home/wangxianming/aw813/AP/out/target/product/aw813/system/app/Mms.apk       //找短信对应的apk

三、怎么在手机中利用编译的adb,把编译出的adb烧到手机中:

(1)$ cd  /aw813/AP/out/host/linux-x86/bin

$  ./adb kill-server     //杀死手机中有的adb

(2)$ ./adb devices   //识别编译出的adb

(3)如果说权限不够,No Permissions  就改用root权限:

$ su       密码:

注意:数据库一定要一致!否则烧录的版本会报错!

四、安装APK

$ adb install  xxx.apk        //直接安装APK

$ adb install -r   xxx.apk   //安装并覆盖已经存在的APK

在Linux环境下怎么编译Android源码?相关推荐

  1. Linux环境下安装MySQL(源码安装)

    Linux环境下安装MySQL(源码安装) 1.事先从官网/国内镜像站点中下载源码安装包,上传至服务器: 2.安装开发工具和开发包(从5.5开始使用cmake编译) 3.创建用户和组 4.编译安装My ...

  2. Linux操作系统下如何编译安装源码包软件

    一.什么是源码包软件? 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;l ...

  3. Linux下如何编译Android源码~~~

    使用的是putty.exe软件 本身机器windows环境连接服务器的linux环境编译android putty.exe界面在上面有提到了 输入你的账号密码后会进入 这样的效果就算是成功了可以ls就 ...

  4. Ubuntu18.04系统编译android源码环境配置

    1. 前言 我们做andorid系统开发,肯定时刻与源码打交到,特别是做新项目时,最重要的事情就是下载源码,然后配置环境编译,假如你的电脑是刚重装系统过,一个全新的开发环境,那么首要解决的事情就是完善 ...

  5. 《深入解析Android 虚拟机》——第1章,第1.3节编译Android源码

    本节书摘来自异步社区<深入解析Android 虚拟机>一书中的第1章,第1.3节编译Android源码,作者 钟世礼,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  6. ubuntu 11.10下载和编译Android源码

    ubuntu 11.10下载和编译Android源码 由衷感谢网上的各个博主的文章,给了小弟我莫大的帮助.这里呢,小弟也把自己的经历记录下来,以供大家参考^^.这篇应该算是零基础.从无到有的流程介绍了 ...

  7. android:自己动手编译Android源码(超详细)

    自己动手编译Android源码(超详细) 涅槃1992 2016.06.20 02:12* 字数 4330 阅读 86819评论 89喜欢 339赞赏 7 在Android Studio代码调试一文中 ...

  8. win10最新下载编译Android源码的简易方法分享(已亲测)

    win10最新下载编译Android源码的简易方法分享(已亲测) 准备至少150G的硬盘空间 win+R 输入control 打开程序与功能-启用或关闭Windows功能 勾选"适用于Lin ...

  9. 最新i7编译android源码,编译ROC-RK3328-CC Android7.1源码教程

    环境安装 windows准备 首先在windows中划分一块100左右的分区安装ubuntu16,在linux环境编译Android源码 安装ubuntu16(注意一定要16的ubuntu,其他版本的 ...

最新文章

  1. 学建筑要学哪些计算机绘图,建筑学专业学CAD买什么书好?
  2. sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, “Incorrect string value: ‘\\xE6问题解决
  3. 洛谷 P2574 XOR的艺术
  4. 【栈】栈的基本操作实现模板的总结
  5. 美团在Redis上踩过的一些坑-4.redis内存使用优化
  6. LeetCode 1774. 最接近目标价格的甜点成本(DFS / 01背包)
  7. 高通平台添加或者移植一个完整的camera
  8. php中foreach()的用法
  9. java new对象_Java中new一个对象是一个怎样的过程?JVM中发生了什么?
  10. 谷歌浏览器无法登录账号
  11. 清华学姐教你如何用python处理excel数据
  12. 让我感动的100对古装情侣
  13. Vue 中获取 package.json 信息
  14. 一键清除锁屏密码:苹果手机忘记锁屏密码的解决方案
  15. 国外LEAD赚钱的一些习惯
  16. PDF文档如何在线进行解密操作
  17. echarts图例样式单独设置
  18. 怎样判定网站是否被K?网站被K的原因与解决办法
  19. python quit函数_在Python中启用quit函数的问题
  20. 快速了解各种三维数字沙盘

热门文章

  1. 彻底关闭win10更新自动更新 卸载win10自带杀毒软件 新增联想软件 lenovo quick fix
  2. 深度信念网络DBN的一个matlab实例
  3. 联想 Thinkpad SL410使用体验
  4. 在c51语言的循环语句中 用作循环结束,在C51语言的循环语句中,用作循环结束条件判断的表达式为()...
  5. 蓝牙Mesh开发五 Ble Mesh友谊FriendShip之TLSR8258低功耗节点
  6. awvs安装及问题解决
  7. TS 36.211 V12.0.0-上行(1)-时隙结构和物理资源
  8. github下载提速教程
  9. 论文笔记:CVPR2022 Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation
  10. 如何使用git 生成密钥?