27

在 Linux 上编译和运行 Dalvik 虚拟机所需的最少步骤(包括检索源代码)是什么?

4

7 回答 7

7

实际上,我让 Dalvik 开始安装我的基本操作系统。

首先使用https://source.android.com/source/downloading.html下载 Android AOSP 源代码树。等待它下载(我只克隆当前提交和 Marshmallow 分支需要 2 小时)

build/envsetup.sh源代码树中运行后运行lunch full_x86-eng。然后键入make -jN(将 N 替换为核心数)。

等待。我在 AMD-4500M 笔记本电脑上花了大约 1 个小时。较新的计算机可能低至半小时,而较旧的计算机可能需要半天。

将目录更改为!!AOSP-PATH!!/out/host/linux-x86/bin/并运行export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:!!AOSP-PATH!!/out/host/linux-x86/obj/lib/

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:!!AOSP-PATH!!/out/host/linux-x86/lib

或者export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:!!AOSP-PATH!!/out/host/linux-x86/lib64

尝试所有这些

然后 ./dalvikvm --32。如果您尝试在没有该--32选项的情况下运行,它将崩溃(不知道为什么)

工作棉花糖达尔维克。为了让 GUI 应用程序正常工作,您需要做更多的移植和编码,这是我正在从事的另一个项目。

我花了半天时间才弄清楚这一点。

参考

http://milk.com/kodebase/dalvik-docs-mirror/docs/hello-world.html

于 2016-05-11T12:06:38.730 回答
3

实际上,那是在 Dalvik 上运行的 android,而底层系统已经是 linux。

我猜想在桌面 linux 机器上运行一个裸露的 Dalvik VM 只是获取源代码并编译它的问题。

GUI 的东西是另一回事。

于 2011-06-17T16:58:03.733 回答
3

使用sabayon Linux。这是一个可以原生运行 Android 程序和所有 Linux 程序的发行版。

于 2012-11-11T01:26:31.873 回答
1

你不是唯一一个有这个想法的人,这在互联网社会方面很棒。

这可能是您正在寻找的:http ://www.android-x86.org/ 。那些家伙将 android 移植到 x86。

它仍然可以作为操作系统运行,所以我不确定你是否可以在不使用 VirtualBox 的情况下同时运行 Linux 和 Android(Linux)。

于 2012-08-13T10:22:04.830 回答
0

Dalvik 在 Android 上运行。据我们所知,Dalvik 的作者只担心它在 Android 上运行。

各种团体表示他们正在努力让 Dalvik 脱离 Android。您可能最好找到并与他们交谈。

换句话说,没有您寻求的那种官方说明。

对不起!

于 2010-08-22T22:06:33.027 回答
0

让为 Android 设计的应用程序在 Linux 上运行会很棘手。但是,可以在 Linux 上运行 Dalvik VM。事实上,这个 GitHub 项目有一个 Dalvik VM for Linux 的预编译二进制文件,可以使用了!查看相关的博客文章,了解有关如何编译二进制文件以及如何使用它的信息。

于 2017-04-17T21:09:48.950 回答
-1

学习编程Java\C\C++等框架

修改Android源代码(我认为是app_process之类的),使其在Linux桌面上显示一个窗口(学习X11 / Wayland APIs)

下面是一个简单的基础供您开始

www.android-x86.org/getsourcecode

获取 Android-x86 源代码

首先,按照此页面配置您的构建环境。然后

mkdir android-x86
cd android-x86

repo init -u git.android-x86.org/manifest -b $branch
repo sync

其中 $branch 是上一节中描述的任何分支名称。这会将 android-x86 创建或修改的项目指向我们的 git 服务器。所有其他项目仍然指向 AOSP。我们在 SourceForge.net 上也有一个 git 镜像服务器。要使用它,您只需要将 repo init 命令更改为

repo init -u git.code.sf.net/p/android-x86/manifest -b $branch
于 2014-11-26T19:25:05.990 回答