如何编译Dalvik在Linux上本地运行?

时间:2010-08-22 16:24:16

标签: android dalvik

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

7 个答案:

答案 0 :(得分:3)

实际上,这就是在Dalvik上运行的android,底层系统已经是linux了。

我想在桌面Linux机器上运行一个裸的Dalvik VM只需要获取源代码并进行编译。

GUI的东西是别的东西。

答案 1 :(得分:3)

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

答案 2 :(得分:3)

实际上,我让Dalvik正在进行我的基本操作系统安装。

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

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

WAIT。在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选项的情况下运行,它将崩溃(不知道原因)

工作Marshmallow Dalvik。为了使GUI应用程序正常工作,您需要进行一些移植和编码,这是我正在进行的另一个项目。

我花了半天的时间来解决这个问题。

参考

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

答案 3 :(得分:1)

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

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

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

答案 4 :(得分:0)

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

各种团体都表示他们正致力于将Dalvik置于Android之外。你可能最好找到并与他们交谈。

换句话说,没有您所寻求的官方指示。

抱歉!

答案 5 :(得分:0)

获取专为Android设计的应用程序在Linux上运行将会非常棘手。但是,可以在Linux上运行Dalvik VM。实际上,this GitHub project有一个预编译的Dalvik VM for Linux二进制文件,随时可以使用!检查关联的blog post以获取有关如何编译二进制文件以及如何使用它的信息。

答案 6 :(得分:-1)

学习编写Java \ C \ C ++和其他框架

修改Android源代码(我认为app_process或其他东西),以便在Linux桌面上显示一个窗口(学习X11 / Wayland API)

以下是一个简单的基础,您可以从

开始

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