当前位置:首页 » 编程软件 » 安卓源码编译与环境搭建

安卓源码编译与环境搭建

发布时间: 2022-08-30 22:27:19

‘壹’ 如何搭建android framework开发环境搭建

framework的开发比应用层就要烦的多啦。做应用在eclipse中就足够了,用android系统中的控件等工具,或者是自己写个类来实现特定的功能。而framework层的开发,需要往源码中添加代码、xml、图片、id等等数据,这个id可是费了我好大的劲才搞定的。在项目开始的一个半月里,我探索、尝试了很多,现在把我的经验分享出来。网上关于framework层的开发信息很少,多是靠自己。 最有效的方式就是分析android的源码,看google是怎样实现一个类的,以及类的层次。我现在看的主要是widget和app中的代码,其他的还没涉及。像View,ViewGroup,Activity,ActivityThread都是非常重要的类,也是代码量很大的类,我只是大概地过了下,还没有仔细分析过。 我花大力气的地方是资源文件夹下values中几个文件的作用。 attrs.xml中定义的是类的属性,属性是为了能在xml文件中被引用到,换句话说就是指定类中变量(也就是属性的实际作用者)的值。这些属性会在类的构造函数中用到。看过一两个源码就会明白,构造函数中的TypedArray其实就是属性的数组,数组的成员会被赋给类里的成员,完成从xml的初始化。类的构造函数一般有三个,一个是Class(context),这个用于在代码中创建一个类,所以只包含一个上下文;Class(context, attrs)和Class(context, attrs, defStyle)用于从xml创建类的情况。 styles.xml中是各个控件的“样式”,样式由一个个属性所组成。我们在编辑xml文件的时候,不同的类所能设置的属性有共同的,也有不同的,都是由样式来控制的。具体可以去看styles.xml这个文件的内容。 themes.xml其实也是样式,只是适用的范围大一点,这个我是参考网上别人的看法,自己还没研究过。 ids.xml是公共的id,也就是对应用层可见的id,id是为了获得xml中的对象而需要的参数,也就是Object = findViewById(R.id.id_name)中的id_name。这些值可以在代码中用android.R.id引用到 public.xml描述的是为attr、id、drawable所指定的一个32的id值,这个值在current.xml文件中会被用到。 当我们对public.xml做了改动后,执行make update-api命令,相应的current.xml就会添加这些改动。因为这些值按类型被放在不同的段上,类型相同的必须连续存放,不指定id值的话系统会自动计算出下一个值。 添加id的方法:1)在ids.xml中添加公共id项,在public.xml中也添加相应的id项。这种办法没有兼容性,会与后面的版本产生冲突。 2)在ids.xml中添加公共id项,每一项前面加一行的注释,这样就不用在public.xml中添加相应的项了。源码中是/** @hide */的形式,这样current中就不会有相应的段了。 3)在自己写的xml中,使用android:id = "@+id/id_name"的形式,就和在eclipse中一样,搜一下会发现android源码中也有这么用的,这样ids.xml和public.xml都不用改,兼容性我还不确定。 上面这些希望能对大家有所帮助吧。

‘贰’ Ubuntu 10.10 下android 编译环境搭建

1楼扯淡,你敢说windows下android和linux下编译源码出来的android没多大差异?不怕雷劈么?
为什么android是个开源OS?你在windows上开个源让我看看?
csdn上有ubuntu 10.04下编译2.3.3源码的文章 我当时就是照那个做的,当然如果你对linux了解为0...那就没办法了

‘叁’ 开发和调试Android系统源码,开发环境如何搭建!

在ubuntu下面编译吧在eclipse下面没法编译framework层的东西的 这些都是打包成jar的 而且有关联性如果是仅仅调试 倒是的确可以用eclipse但是需要你手机上面的system.img的编译源码和你导入的源码是一样的 否则会出现错位甚至eclipse档掉

‘肆’ 自己可以编译安卓源码吗

用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:

sudo apt-get install git git config –global user.email “[email protected]” git config –global user.name “test”

其中[email protected]为你自己的邮箱.

简要说明

android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述.

源码下载

由于某墙的原因,这里我们采用国内的镜像源进行下载.
目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.(参考:科大源,清华源)

repo工具下载及安装

通过执行以下命令实现repo工具的下载和安装

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

补充说明
这里,我来简单的介绍下repo工具,我们知道AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理.在聊repo工具之前,我先带你来聊聊多仓库项目:

我们有个非常庞大的项目Pre,该项目由很多个子项目R1,R2,...Rn等组成,为了方便管理和协同开发,我们为每个子项目创立自己的仓库,整个项目的结构如下:


这里写图片描述

执行完该命令后,再使用make命令继续编译.某些情况下,当你执行jack-admin kill-server时可能提示你命令不存在,此时去你去out/host/linux-x86/bin/目录下会发现不存在jack-admin文件.如果我是你,我就会重新repo sync下,然后从头来过.

错误三:使用emulator时,虚拟机停在黑屏界面,点击无任何响应.此时,可能是kerner内核问题,解决方法如下:
执行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通过使用kernel-qemu-armv7内核 解决模拟器等待黑屏问题.而-partition-size 1024 则是解决警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一开始编译的版本是aosp_arm-eng,使用上述命令仍然不能解决等待黑屏问题时,不妨编译aosp_arm64-eng试试.

    结束吧

    到现在为止,你已经了解了整个android编译的流程.除此之外,我也简单的说明android源码的多仓库管理机制.下面,不妨自己动手尝试一下.

    ‘伍’ 怎样搭建android开发环境

    1、首先我们在搭建 Android 开发环境之前,需要一个集成的开发环境,一个是 SDK,一个是模拟器。因为编程使用的是java语言,还需要JDK。Java开发环境具 体搭建方法请参照:

    http://www.pc6.com/infoview/Article_53515.html

    2、开发集成环境选择eclipse(集成版)

    软件名称: Eclipse SDK(跨平台集成开发环境)V3.6.7(x64)

    软件大小: 174.3M

    下载地址: http://www.pc6.com/softview/SoftView_52899.html

    3、开发安卓用的插件是ADT,它可以帮助我们完成创建项目,向模拟器部署并运 行程序,调试程序等工作。

    4、安装ADT的方法如下:

    (1)启动eclipse,选择菜单中的Help -> Software Updates

    至此为止,Android的安装环境就全部搭建完毕了

    ‘陆’ 手机android开发环境该如何搭建

    1. 下载jdk,

    2. 配置jdk环境变量

    3. 下载android studio,可选择附带下载sdk(也可自行下载)

    4. 配置sdk环境变量。

    5. 打开android studio,新建项目完成helloword第一个项目的创建。

    ‘柒’ 如何编译android手机源码

    编译android系统源码准备工作:
    下载android源码
    在windows上用gitbash ,git clone 下载代码
    在linux上这样下载
    创建~/bin目录,用来存放repo程序,如下:

    $ cd ~
    $ mkdir bin
    初始化repo
    repo是android对git的一个封装,简化了一些git的操作。
    创建工程目录:
    $ mkdir android
    $ cd android
    下载repo脚本并使其可执行:
    $ curl http://android.git.kernel.org/repo >~/bin/repo
    $ chmod a+x ~/bin/repo
    repo初始化:
    $ repo init -u git://android.git.kernel.org/platform/manifest.git
    在此过程中需要输入名字和email地址。初始化成功后,会显示:
    repo initialized in /android
    在~/android下会有一个.repo的隐藏目录。
    5)同步源代码
    $ repo sync
    这一步要很久很久。
    安装linux系统,推荐ubuntu,图形界面
    安装编译需要的支持包
    $ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
    安装java6.0
    $ sudo apt-get install sun-java6-jdk
    配置java环境
    sudo gedit ~/.bashrc

    末尾加上

    JAVA_HOME=/usr/lib/jvm/java-6-sun
    JRE_HOME=${JAVA_HOME}/jre
    export ANDROID_JAVA_HOME=$JAVA_HOME
    export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
    export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
    export JAVA_HOME;
    export JRE_HOME;
    export CLASSPATH;
    HOME_BIN=~/bin/
    export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN};
    sudo source ~/.bashrc
    是环境变量生效

    编译android源码,并得到~/android/out目录

    $ cd ~/andoird
    $ make
    这一过程很久。
    这就编译结束了

    ‘捌’ 如何搭建android运行环境

    1.Android运行环境的搭建

    进行安卓系统的软件设计,那么JDK的开发环境搭建必须是首要的。我们选择Windows10 64位操作系统。同时在JDK版本的选择中选用Windows x64版本的Java SE Development Kit 8u5,该版本稳定,应用广泛而且开源免费,获取方便。在安装的过程中要注意不要重复安装,应安装完毕后立即删除安装包,否则如果不小心再次点到安装包,该安装包会立刻删除所安装的程序并询问是否重新安装。在JDK的安装过程中,要注意开发工具,源代码,公共JRE三项都要选中,而且要安装到C盘默认目录下,同时将其附带的JRE同样安装到相同目录下,同时硬盘至少应该留有2G的空间。

    选择好JDK的版本并进行安装后,我们的JAVA环境就安装好了,众所周知,安卓系统是由JAVA语言架构的,所以在搭建安卓运行环境之前必须要先安装JAVA环境。安装完JAVA环境之后,我们进行安卓开发环境的搭建。我们就要进行Android SDK版本的选择。我们这里选择android-sdk_r24.4.1-windows版本。这个版本是与安卓8.0同时发布的,同时它的发布时间也在我们的安卓测试机红米NOTE5A型号之后,可以完美兼容我们的安卓测试机所运行的安卓7.1.2版本。

    5. 总结

    本次主要介绍了系统软件环境的搭建与生成,从Android运行环境的搭建,Windows系统环境变量设置,Android SDK的配置, SDK接口和APK生成几个方面分别介绍了具体步骤,让我们了解了本文安卓系统软件开发的环境配置。

    以上就是安卓环境和下载和安装啦,按步骤来操作对小白来说也是相对简单的,只要注意一些文中说明的细节,现在就开始行动起来一起学unity吧。

    ‘玖’ windows下如何编译android源码

    如果没记错,windows下是没法编译android框架源代码的

    因为android是基于linux平台的,因此底层的很多东西都是基于linux系统的

    如果只是单纯的android应用程序,则可以在windows下开发编译

    只需要用Eclipse的adt插件加上windows下开发的Android SDK就行了。

    ‘拾’ 如何搭建android源码编译环境

    1
    编译Android 源代码,Android官方推荐64位的ubuntu系统,最好是10.04的,对于10.10、11.10、12.04版本的ubuntu系统也是可以,但是小编一直习惯使用10.04的,所以几年来一直沿用至今

    请不要使用32位的Ubuntu系统,更不要使用10.04以下的ubuntu系统,不然编译会出现很多都问题,会浪费更多的时间,有的比较难解决,对于新人来说,还不如重新安装一个64位的ubuntu系统

    下面小编来说说怎么样查看当前安装好的ubuntu系统是多少位的
    按照下图所示的方法打开终端,然后输入命令并执行 uname -ar,在最后输出的信息中如果有amd64或者 x86_64 字样,那么就说明是64位的系统了,否则就是32位的系统了

    END
    安装jdk
    1
    jdk的安装,虽然Android官方还是有介绍,现在jdk的安装已经不支持使用添加源,然后用命令安装了,只能取java官网下载jdk,然后安装,然后将jdk的路劲添加到环境变量中,具体的安装和添加变量的方法,可以查看本文参考资料中的文档介绍,这里就不过多说明了

    另外需说明的是,对于2.3版本以后的Android,需要使用jdk6,即jdk1.6,而不要使用jdk1.7的

    2
    对于安装好的jdk,并且添加了环境变量,我们可以输入并执行命令java -version 来查看jdk版本,若是有类似下面的信息输入,那么说明jdk安装成功了

    END
    安装编译所需的工具
    1
    对于10.04的系统,我们只需要安装下面这些软件工具就可以了,直接复制到终端中,然后回车执行安装就ok,安装前保持电脑正常连接网络
    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
    对于10.10的ubuntu系统,需要先安装下面的工具软件,直接输入执行下面的命令就可以安装:
    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

    3
    之后使用下面的命令做一个软链接文件:
    sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

    4
    对于11.10的ubuntu系统,需要先安装下面的工具,输入并执行下面的命令:
    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

    5
    然后再安装这个对于11.10系统特别需要的工具
    sudo apt-get install libx11-dev:i386

    END
    设置高速缓存加快编译速度
    设置告诉缓存可以加快我们的编译速度,对于配置不是很高的电脑,最好是进行这个设置,这样可以为我们节约很多都时间

    先用vi或者gedit软件打开宿主目录下的.bashrc文件,然后在文件的最后添加:
    export USE_CCACHE=1
    之后保存退出,重新登陆系统,使设置生效

    在终端中,切换到源码根目录中,然后执行下面的命令,设置ccache的大小
    prebuilts/misc/linux-x86/ccache/ccache -M 50G

    其实ccache就是一个执行文件,后面的-M和50G是传递给ccache的参数,表示设置50G的缓存空间,这个大小可以根据我们的时间需要来修改

    热点内容
    淘宝上传时间 发布:2025-02-09 02:42:13 浏览:637
    ios缓存数据 发布:2025-02-09 02:32:06 浏览:253
    苹果手机如何存储word 发布:2025-02-09 02:23:02 浏览:780
    安卓手机如何有苹果的emoji 发布:2025-02-09 02:11:02 浏览:808
    编译原理已知语言求文法习题 发布:2025-02-09 02:05:15 浏览:132
    中国首个具有世界影响力的编译器 发布:2025-02-09 01:56:21 浏览:720
    tomcat上传超时 发布:2025-02-09 01:41:42 浏览:484
    androidactivity竖屏 发布:2025-02-09 01:41:40 浏览:378
    家庭配置怎么合理 发布:2025-02-09 01:36:14 浏览:808
    头条军事源码 发布:2025-02-09 01:31:53 浏览:998