导航:首页 > 源码编译 > 安卓源码运行方法

安卓源码运行方法

发布时间:2022-04-30 22:15:34

android源码能在其他电脑上运行吗

如下:
1.在ubuntu系统下,进入源码根目录,运行如下命令
mmm命令编译idegen模块,在源码目录下的out/host/linux-x86/frameworks/目录下生成了idegen.jar文件。
2.在源码目录下继续执行如下命令:
3.development/tools/idegen/idegen.sh命令执行完成,会在根目录下生成
android.iml和android.ipr这两个文件,这两个文件是Android Studio的工程配置文件。
4.到这一步我们可以打开Android Studio导入源码了,不过还有一些要注意的地方,如果我们就这么直接导入,会把所有的源码模块导入到Android Studio中,这会很慢的,想想源码那么多文件,直接全部导入,如果你的电脑配置不好,可能会直接假死。所以我们最好过滤一下我们不需要的源码文件,只导入我们需要的模块。
对比源码下目录,我把除了frameworks模块的其他所有模块都过滤掉了。这样导入的速度很快,3分钟左右就导入完成了。
5.所有配置完成了,下面启动Android Studio开始导入源码。
6.Android Studio导入源码
点击ok,大概过了3-5分钟,就导入完成了。
7.好了,现在我们可以愉快的使用Android Studio查看源码了。
8.如果你不想编译源码,还想把源码导入Android Studio的简单方法是什么呢,到这一步我想大家都知道了,就是把上面生成的两个文件android.iml和android.ipr拷贝到你的未编译源码根目录就可以用Android Studio导入了。
9.当然,一般我们大部分人不在ubuntu下开发app ,为了能在Windows或Mac系统下也能使用Android Studio查看未编译的源码,我们也可以像上一步那样直接拷贝ubuntu下的android.iml和android.ipr文件到Windows或Mac系统下的android源码根目录下,然后导入Adnroid Studio中,这样就可以在这两个平台上进行查看源码了,不用一直开虚拟机了。

⑵ android编译源码后怎样运行

编译:
1. 初始化:
source build/envsetup.sh
2. 选择target
lunch
然后选择aosp_arm

3.
make -j4

等待大概2个小时,就可以顺利编译完成。

模拟器运行
直接运行emulator,会出现如下错误:

emulator: ERROR: You did not specify a virtual device name, and the system

directory could not be found.

原因是文件路径没有设置,解决办法添加绝对路径:

out/host/Linux-x86/bin/emulator -kernel prebuilts/qemu-kernel/arm/kernel-qemu -sysdir out/target/proct/generic/ -system out/target/proct/generic/system.img -ramdisk out/target/proct/generic/ramdisk.img -data out/target/proct/generic/userdata.img -sdcard sdcard.img -scale 0.7 -memory 512 -partition-size 1024

然后运行模拟器

⑶ android源码 下载 如何使用

1、这位兄弟,不知道你说的源码是不是真正意义上的源码(源码很大的,2.3之前的应该在3G左右,4.0的有4G多点),如果是android-sdks\samples\android-15目录下的一某个例子,一楼正解。在eclipse的菜单->File->New-Project->Create project from existing source,选择Android->Android Sample Project
2、如果是google系统源码,你用eclipse就很难运行出来(例如Mms,彩信),因为上层运行时会依赖底层很多东西(例如一些jar包),想用eclipse运行出来必须把上层所依赖的全导进去,这个过程很复杂。所以,我建议,如果想运行源码(如:Mms,路径:packages\apps\Mms),弄一个linux系统。
3、实例太大,没法上传

⑷ Android怎么导入源代码并运行

导入的项目有问题吧,一般情况下,jar包或者library有可能发生错误,你可以重新设置下路径

选中当前项目右击----properties-------Android(左边)-----查看右下部分有没没有library有的话remove再此重新导入

或者:

选中当前项目右击----properties-------java Build Path-----查看右面4个选项卡有没有报错的。。。如果有,同样,removew在add进入

⑸ 我在网上下了一些Android的源代码,不知道怎么用Eclipse运行

具体来说,有两种方式。
第一种:
在你创建android project 的时候在选择
Create project from existing source 按后选
Browse 在你的电脑里面找到要引入的代码。
第二种:
可以建立一个Applocation name
Package name
Create Activity
还有 android版本相同的项目
建立以后,点右键选择Import 再选File System
找到要引入的项目,把里面的东西都引入进来就可以了。

⑹ 自己可以编译安卓源码吗

用最新的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 studion 运行apk源码

    一、修改Android Studio(以下简称AS)的内存配置
    因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m, 可自行修改。
    二、配置AS的JDK、SDK
    在IDE中添加一个没有classpath的JDK, 这样可以确保使用源码里的库文件

    并将其作为要使用的SDK的Java SDK。如下图

    三、生成导入AS所需配置文件(*.ipr)
    ①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)
    ②检查out/host/linux-x86/framework/目录下是否有idegen.jar
    如果idegen.jar不存在,执行:
    mmm development/tools/idegen/

    在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。
    我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
    ③执行
    development/tools/idegen/idegen.sh

    等待出现类似下面的结果:
    Read excludes: 5ms
    Traversed tree: 44078ms

    这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ IDEA社区版开发的)的配置文件
    Tips:
    AS在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:
    <excludeFolder url="file://$MODULE_DIR$/.repo" />
    <excludeFolder url="file://$MODULE_DIR$/abi" />
    <excludeFolder url="file://$MODULE_DIR$/art" />
    删除掉所有不需要的mole-library项 PS:感谢 @dezng 的建议
    这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.
    ④在AS中打开源码根目录下新生成的android.ipr

    如果在导入时AS出现

    则建议按照其给定的解决方法来解决(网址:http://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit),具体内容如下图:

    四、解决源码中跳转错误问题
    ①为当前工程设置正确的SDK和JDK

    ②设置'Moles'的依赖

    先将所有依赖删掉,只留下上图'1'所指向的两个(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.
    如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
    点击上图中'2'指向的'+'并选择上图'3'指向的'Jars or directories'选项,依次将frameworks和external文件夹添加进来.如:

    其它版本的代码在添加frameworks时可能会显示成:

    没有关系,只是显示问题,点击OK还是会把frameworks路径添加进去的.
    如果还有代码跳转错误,请仿照上面的步骤将相应代码的路径或jar文件添加到其Dependencies标签页中即可.
    五、DEBUG源码
    我们可以通过给刚导入的工程在'Moles'中添加'Android Framework'来让AS将它作为一个Android工程,从而方便我们调试代码.

    可以按照上图中'1'和'2'来添加Android Framework支持.
    在代码中加断点,然后选择'Run'->'Attach debugger to Android process'或者直接点击下图所示的图标
    在弹出的选择进程(Choose Process)对话框中,勾选显示所有进程,选择要DEBUG的代码所在的进程,点击OK即可.
    六、其它
    代码中很多地方提示Call requires API Level x.... 出现这个问题是因为AS将我们的工程当做安卓应用程序工程了,且源码中没有指定minSdkVersion.
    我们只需在源码根目录加一个声明minSdkVersion的AndroidManifest.xml文件即可(分享了一个AndroidManifest.xml)。
    也可以考虑使用build.gradle来解决该问题。

    文中所使用的文件地址:http://yunpan.cn/cf3MBa2688eBw (提取码: 64e5)

    ⑻ 如何运行打包的android源代码文件

    android源码目录下的build/envsetup.sh文件,描述编译的命令
    -
    m:
    makes
    from
    the
    top
    of
    the
    tree.
    -
    mm:
    builds
    all
    of
    the
    moles
    in
    the
    current
    directory.
    -
    mmm:
    builds
    all
    of
    the
    moles
    in
    the
    supplied
    directories.
    要想使用这些命令,首先需要在android源码根目录执行.
    build/envsetup.sh
    脚本设置环境
    m:编译所有的模块
    mm:编译当前目录下的模块,当前目录下要有android.mk文件
    mmm:编译指定路径下的模块,指定路径下要有android.mk文件
    下面举个例子说明,假设我要编译android下的\hardware\libhardware_legacy\power模块,当前目录为源码根目录,方法如下:
    1、.
    build/envsetup.sh
    2、mmm
    hardware/libhardware_legacy/power/
    编译完后
    运行
    make
    snod
    会重新将你改过的模块打入到system.img中

    ⑼ 自己开发的android程序怎么在手机上运行

    1
    首先在虚拟机上运行一次,然后打开你的源代码在bin文件下有个apk文件把它拿出来装到你手机上就可以了
    2或你以后可以直接用真机代替虚拟机搞开发,可以直接连接数据线到电脑,(要有驱动,如不知道怎么下驱动,可以下载91手机助手或豌豆荚帮你自动安装),然后你在Eclipse下点击运行你的程序是可以在Target项中点击Manual选择真机运行

    ⑽ 怎样运行Android源代码

    小编初学android的时候也不知道如何导入源码,但经过半天的琢磨··终于找到了一个好的捷径。 第一步在Eclipse 开发环境中,选择File---》import

    第二步选中所要导入的文件

    第三步 选中导入的项目,右键选择Properties--》


    第四步 选择“Android”选项,勾选TargName,然后单击OK。小提示:TagName要与你当前模拟器的版本匹配,比如笔者的是android 2.3.3。


    第五步 在导入的项目按鼠标右键 ,单击Android tool ---》Fix Project Properties
    这样子··你下载的源码就可以运行了,虽然步骤烦琐了一点,但是操作多了就了就顺手了。 不过··大家有什么更便捷的方法也可以推荐给我。

    阅读全文

    与安卓源码运行方法相关的资料

    热点内容
    70个4相乘的简便算法 浏览:291
    安卓手机没有机身存储了怎么办 浏览:314
    输入法文件夹不能用 浏览:83
    发单买多大的云服务器 浏览:331
    特价云服务器如何注册 浏览:296
    安卓手机账户忘记密码怎么解锁 浏览:821
    如何用健身app确定一个特工 浏览:911
    多级压缩的原理 浏览:864
    java项目开发案例视频 浏览:70
    文件夹快速查找表格不同内容 浏览:493
    合并排序算法java 浏览:920
    如何将文件夹删除的部分恢复 浏览:808
    eco为什么连接不上服务器 浏览:294
    查看linux的命令是 浏览:12
    苹果邮件服务器地址 浏览:343
    U盘超级加密3000时间 浏览:738
    如何跟别人解释什么是服务器 浏览:939
    安卓11原生如何隐藏软件 浏览:712
    解压清洁面部女士 浏览:856
    美的变频空调压缩启动一下报p1 浏览:472