当前位置:首页 » 操作系统 » 安卓源码么

安卓源码么

发布时间: 2022-09-03 08:00:07

㈠ 自己可以编译安卓源码

用最新的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源码的多仓库管理机制.下面,不妨自己动手尝试一下.

    ㈡ 在安卓手机上网页源码如何用

    操作方法如下:

    1、首先打开手机,找到并点击进入设置,如下图所示。

    ㈢ 安卓源码没有app文件怎么运行

    在Eclipse开发环境中,选择Filemport
    选中所要导入的文件。选中导入的项目,右键选择Properties。选择“Android”选项,勾选TargName,然后单击OKTagName要与当前模拟器的版本匹配。在导入的项目按鼠标右键,单击下载的源码就可以运行。

    ㈣ 编译Android源码和内核源码的区别

    Android源码编译之后生成的是ramdisk.img、system.img和userdata.img。而内核源码编译完成之后生成的是ZImage。在一般情况下Android源码是不带有内核源码的,但是带有一个镜像,这样在编译完Android源码之后就可以模拟器启动了,如果要更换系统的内核,此时将高版本的内核源码进行编译生成ZImage然后替换Android系统的的镜像。这样使用模拟器启动之后就可以查看内核是否已经被刷新。
    请注意,android源码和kernel源码是分开下载的

    编译android源码
    进入source目录下,执行make 即可。
    编译完成后,可以在源码目录的out/target/proct/generic/目录下看到编译好的ramdisk.img、system.img和userdata.img了。

    编译内核源码
    新建Kernel/goldfish,在这个目录下进行编译

    ㈤ android怎么修改源码

    在Android界面的系统status bar上添加home,back,menu三个菜单,并完成对应的系统功能。并有higlight效果,修改status bar 高度和status bar上的文字尺寸。

    这需要修改android sdk才能完成,我用的是eclair.下面就我的操作进行叙述。

    1.首先完成界面显示效果。

    需要修改文件

    ./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java,仿照mBatteryIcon等icon的添加方式添加自定义的icon,图片名称指定就好了。另外还要记得修改./frameworks/base/core/res/res/values/arrays.xml,这里定义了icon的slot,并且决定了icon的摆放顺序。

    这样,你需要的icon按键就可以显示在系统的status bar上面了。

    2.判断touch event是否按动了某个icon

    需要修改的文件

    ./frameworks/base/services/java/com/android/server/status/StatusBarView.java

    首先在onTouchEvent函数中,获取当前event的坐标,然后比较是否在某个按键范围之内。由于系统对于statusBar的范围已经有了定义,所以这里只需要比较横坐标就可以了。

    其次,也是这一步最关键的,怎么获取具体某一个icon的左右边界坐标呢?系统的status bar左边显示的图标都是notification, 右边显示的是系统icon. 也就是说左边icon属于mNotificationIcons,右边的icon属于mStatusIcons. 在文件StatusBarView.java中出现的offset = getViewOffset(mStatusIcons),得到mStatusIcons的最左边的icon的left横坐标。用N = mStatusIcons.getChildCount()得到共有几个系统icon,其中包含visibility为false的icons.用mStatusIcons.getChildAt(N-i)得到的是从右边数第i个的icon view. 这个view的getLeft()+offset就是这第i个icon的左边横坐标,对应的getRight()+offset就是这第i个icon的右边横坐标。本例中home键是右边第2个icon.

    3.定义icon响应事件

    这里使用的方法是在StatusBarView.java中向

    ./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java发送一个Broadcast,让StatusBarPolicy来完成具体的事件操作。这里需要注意的是不仅要在./frameworks/base/core/java/android/content/Intent.java中定义intent,还要在StatusBarPolicy的构造函数中添加该intent的过滤动作,即filter.addAction(Intent.ACTION_BACKICON_CHANGED).例如,按动了back键,如果当前事件为action_up,就向系统发送一个keyEvent,keyCode为KeyEvent.KEYCODE_BACK. 这里借用的是./frameworks/base/cmds/input/src/com/android/commands/input/Input.java中的sendKeyEvent函数,直接拷贝过来,按照需要稍微修改一下形参就可以了,过程不要修改。

    需要说明的是,当点击statusBar可以拉出来一个notification列表,当这个列表显示出来的时候,这三个back, menu, home键的响应速度会非常慢,所以这时不响应事件并隐藏这三个键。具体做法是在StatusBarView的onTouchEvent()中判断mService.mExpanded或者 mService.mTracking为真时就不做响应。mService是StatusBarService对象。隐藏三个键也是用Broadcast来做的,但这个intent是由StatusBarServie发出来的,当mExpandedVisible = false时显示,当mExpandedVisible = true时隐藏。

    这里还同时完成了highlight换图的动作,也是用Broadcast来做得,处理过程一样,就是需要区分action_down和action_up就可以了。

    4.调整status bar的高度

    如果你需要显示较大的屏幕尺寸,同时statusBar的高度要拉大,上面的icon的size也需要调大。为了协调一致,显示时间的字体和notification显示的日期的字体也需要调大。具体做法如下:

    a.调节status bar icon的size: 只调节status_bar.xml的textSize标签似乎不起作用,同时又修改了./base/services/java/com/android/server/status/StatusBarIcon.java的t.setTextSize(32);语句才成功。不知道修改status_bar.xml的<com.android.server.status.AnimatedImageView>标签下的layout_height值是不是必须的,反正我是一起都给改了。

    b.调节status bar height: ./base/core/res/res/values/dimens.xml 找得我好辛苦!不知道还需不需要修改./base/core/res/res/values/themes.xml中的Window attributes的windowTitleSize值,反正我也给改了。

    c.调节notification显示日期字体的大小,修改status_bar.xml的<com.android.server.status.DateView>的textSize值。

    到这里,就完成了所有工作,看看效果吧。

    ㈥ 怎么查看安卓APP的源码

    如果只有apk的安装包的话,你是看不到源码的,除非使用反编译。作为新手,还是从基础一步一步来吧。

    ㈦ android系统源码有多少行

    大概有10G的源代码,一Byte一个字符,也就是说有超过100亿个字符,每行按标准80字符来算的话,超过1亿行。开放的WinXP系统有2亿行,从数量级上来看的话,应该差不多。Android 4.4,是由Google公司制作和研发的代号为KitKat的手机操作系统,于北京时间2013年9月4日凌晨对外公布了该Android新版本的名称,为Android 4.4(代号 KitKat 奇巧)。据悉,该代号来自雀巢的KitKat巧克力。"Kit Kat"原本是雀巢公司的一款巧克力名称。谷歌表示,他们非常感谢雀巢授权使用该名称,但使用的时候会将中间的空格去掉。Android 4.4 KitKat针对RAM占用进行了优化,甚至可以在一些仅有512MB RAM的老款手机上流畅运行。它也进一步优化了系统在低配硬件上的运行效果, 支持内核同页合并 KSM,zRAM 交换,似乎是为了更好地在众多智能穿戴设备上运行。
    是指sdk的源码,还是android操作系统的源码,不过都有10G左右,另外sdk的源码是用git管理的,一次下载后,用git check就可以切换到各个版本。Android SDK是用于开发Android上JAVA应用程序的,另外发布Android NDK,可以添加一些C语言写的链接库,至于Linux代码,可以在Android源代码中找到(SDK程序中只有编译好的测试映像)。应用程序开发用不到Linux代码(搞嵌入式开发才会用到,而SDK不负责底层开发)。

    ㈧ 如何编辑android 系统源码

    1、通过 ubuntu 软件中心安装 wine;
    2、通过 ubuntu 软件中心安装 winetricks;
    3、通过 winetricks 在 shell中输入: winetricks mfc42

    1、通过 wine windows 的方式启动代理服务器
    2、设置浏览器代理服务器
    3、设置shell代理服务器:
    在shell中输入 sudo gedit /etc/bash.bashrc
    在文件 /etc/bash.bashrc 中添加

    通过shell安装如下的组件:
    1、sudo apt-get install bison g++-multilib git gperf libxml2-utils
    2、新建一个存放源码的目录,如:mkdir ~/andorid/source
    3、在源码目录中输入命令:repo init -u -b android-4.0.1_r1
    其中: android-4.0.1_r1是android源码的版本,更多的版本可以通过下面的方式查询:

    4、修改source/.repo/manifest/default.xml 文件中的 fetch 的值为:
    git://Android.git.linaro.org/

    通过如下的指令来设置邮箱和用户名
    git config --global user.name "<your name>" ----修改用户名git config --global user.email "<your email>" ----修改email
    5、在source目录下输入指令:repo sync
    便开始了代码的下载
    方便他人亦是方便自己,如果觉得还行就点下下边的投票吧,这样可以帮助其他人更快的找到解决问题的方法;有疑问的也可留言哦, 谢谢!

    ㈨ 如何获取android源代码

    当前的Android代码托管在两个方:https://github.com/android 和https://android.googlesource.com之前在 android.git.kernel.org上也有托管,不过现在重定向到了https://android.googlesource.com好在都支持git访问

    google提供的repo工具实际上是一个内部操作git工具来简化操作Android源码的Python脚本。经过尝试,直接使用git工具在ubuntu下可以实现cloneAndroid源码。下面介绍一下方法:

    1.获取当前的在github上托管的Androidgitrepositories:

    github页面为:https://github.com/android/following。不过这个页面不支持通过wget"https://github.com/android/following"或者curl"https://github.com/android/following"的方式访问,错误信息如下:

    这个时候需能做的只能是"tryagain"了。

    需要说明的是"不要试图同时并发执行多个gitclone命令",这样会导致大量出现上面贴图中的错误,另外,整个clone过程中耗时最多的gitrepository如下:

    kernel_common.gitkernel_msm.gitplatform_frameworks_base.gitplatform_prebuilt.git其中platform_prebuilt.git是google提供的预编译好的二进制文件,包含:各种库文件,jar包,可执行程序等等,如果只是阅读Android源代码,这个gitrepository可以不用clone.

    ㈩ APP的源代码是什么意思(安卓的)

    开源(Open Source,开放源码)被非盈利软件组织(美国的Open Source Initiative协会)注册为认证标记,并对其进行了正式的定义,用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。

    安卓的开源就是开放源代码,安卓2.x的内核是Linux2.6.方便软件商开发,多数软件可以免费,手机商不用买系统版权,降低成本和零售价.这些都是对用户直接或间接的好处.

    热点内容
    java程序反编译 发布:2025-05-14 02:18:46 浏览:456
    蛤蟆编程 发布:2025-05-14 02:17:12 浏览:641
    解压缩文件后缀 发布:2025-05-14 02:14:07 浏览:303
    阅章娱乐系统清理数据密码是多少 发布:2025-05-14 02:09:10 浏览:972
    米家的密码锁初始密码是多少 发布:2025-05-14 01:58:51 浏览:36
    存储空间和内存的区别 发布:2025-05-14 01:57:20 浏览:951
    市里煤炭资源配置是什么意思 发布:2025-05-14 01:52:23 浏览:307
    c删除一行数据库 发布:2025-05-14 01:50:53 浏览:74
    sql辅助 发布:2025-05-14 01:50:46 浏览:324
    为什么要限制上传速度 发布:2025-05-14 01:45:07 浏览:620