当前位置:首页 » 操作系统 » androidsource源码

androidsource源码

发布时间: 2022-07-28 05:16:23

1. 如何在Eclipse中查看Android源代码

方法如下:

  1. 在eclipse中,鼠标放在一个android提供的类上,按下ctrl键,会打开一个新页面,提示找不到对应的类的class或者源文件,点击attach source...

    2. 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值。

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

    3. 如何查看Android源码

    当我们在eclipse中开发android程序的时候,往往需要看源代码(可能是出于好奇,可能是读源码习惯),那么如何查看Android源代码呢? 比如下面这种情况 假设我们想参看Activity类的源代码,按着Ctrl键,左击它,现实的结果却看不到代码的,提示的信息便是“找不到Activity.class文件”。 此时点击下面的按钮,“Change Attached Source…”,选择android源代码所在位置,便弹出图三的对话框。 第一种是选择工作目录,即已经存在的android应用程序源代码。 第二种分两种方式 (1)选择External File…按钮,添加Jar格式文件或者zip格式文件路径; (2)选择External Floder…按钮,添加文件夹所在路径。 下面问题就来了,源代码在哪里?不能凭空产生阿。 可以通过Android SDK Manager进行源代码下载;(推荐该种方法)

    4. 怎样查看 Android APP 源代码

    压缩软件打开apk文件,解压出根目录中的classes.dex文件

    使用cmd ,dex2jar.bat classes.dex命令将classes.dex转换为jar

    再用jd-gui打开该jar就可以查看源码了,如果apk安全性好的话,有些代码是看不到的

    5. source insight怎么看android源代码

    快捷键Ctrl+=或者Ctrl+鼠标左键点击 当然这必需是在函数体所在文件已经添加到SourceInsight工程中的情况。 如果是库文件那种只在头文件中有extern引用声明,但是函数体是在.a库文件中的情况就不行了。 必需有此库文件对应的源代码才行。

    6. 如何打开android 源代码

    可以用配置了Android环境的eclipse,也可以直接用Android studio,都可以直接导入项目源码

    7. android studio 怎么进入source源码

    1. 在build.gradle中添加jar依赖:

    2. Rebuild后点进jar库中的某个*.class文件,然后看右上角(是不是发现了Attach Sources选项):

    3. 根据2中的步骤选择XX.source.jar即可绑定源码(或者选择src源码存放目录)

    4. 除了上面的方法,还可以使用手动导入的方式:

    5. 详细解答

    8. 谁有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 中添加:如下内容
    export http_proxy=http://127.0.0.1:8580/export https_proxy=http://127.0.0.1:8580/

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

    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
    便开始了代码的下载

    9. 自己可以编译安卓源码吗

    用最新的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内核问题,解决方法如下:
    执行如下命令:

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

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

    10. android源码在哪个文件夹下

    android的源码首先需要你从Android SDK Manager里面下载,然后在你的sdk中才看得到。


    • 如下图,找到对应的source for Android sdk项,选中然后下载:

热点内容
c语言单元测验 发布:2025-01-19 07:58:56 浏览:990
c语言贪吃蛇源代码 发布:2025-01-19 07:58:53 浏览:879
c语言char数组长度 发布:2025-01-19 07:46:23 浏览:10
淘宝如何清理缓存垃圾 发布:2025-01-19 07:42:07 浏览:438
电脑输入密码阶段如何改语言 发布:2025-01-19 07:42:05 浏览:786
存储器国产率 发布:2025-01-19 07:04:36 浏览:567
锐程cc蓝鲸版选什么配置 发布:2025-01-19 06:56:28 浏览:169
城镇居民医保卡的原始密码是多少 发布:2025-01-19 06:55:54 浏览:788
wifi密码如何修改密码 发布:2025-01-19 06:39:06 浏览:962
sqlserver认证 发布:2025-01-19 06:34:30 浏览:815