Android应用程序可以在Ubuntu touch本机上运行吗?


28

我想知道为什么Android应用程序不能在Ubuntu Touch上本地运行。我的意思是,不仅仅是Linux吗?


1
桌面环境是应用程序兼容的重要因素。
Patrick C. James

8
这实际上是一个很好的问题。Nooby确实,但是非常有效。进行投票。
don.joey 2014年

我同意@ don.joey的观点,因为要得出结论是“是”或“不是”,就很难研究这一点。
MGodby 2014年

关于最新的ubuntu直播,有一些有趣的讨论,涵盖了大部分主题:youtube.com/watch ?feature=player_embedded&v=etMduYRRwDc 25:00 27:10 52:45 54:47 55:20 <一些相关的时间戳点
Mateo

它们可能具有不同的CPU也不也是一个问题吗?
凯文·费根

Answers:


24

最简洁的答案是不。”

严格来说,Linux内核仅提供与其运行的硬件的直接接口。Android应用程序依赖一整堆其他特定于Android手机的API,程序,应用程序等。此外,Android并非在通用Linux内核上运行,而是在Google高度定制的,旨在运行其操作系统的特定内核上运行。

即使从技术上来说,即使能够重现Android应用程序在另一个系统上运行所需的整个堆栈,它也会肿且效率极低。


3
在功能强大十倍的桌面上正确运行一组电话库效率极低吗?十年来我们一直在台式机上运行手机模拟器。
MSalters 2014年

3
我回答的前提是,询问者是本机的,即没有仿真器或虚拟化。
MGodby 2014年

5
@MSalters 与本机程序相比,模拟器将使用更多资源来产生相同的输出。那就是效率低下的定义。Android模拟器在我的体验中特别慢。
jmathew 2014年

1
@jmathew从开发人员的角度来看(至少是我的观点),这样做的一个好处是,如果应用程序在一台运行缓慢的计算机上的模拟器中运行得相当好,那么它将在大量低端廉价电话中表现良好。
2014年

2
@jmathew我认为MSalters想要说的是,当使用仿真器已经有好几年的历史了,那么就没有办法在本地运行相同的东西会效率低下。
kasperd 2014年

1

诺基亚n900运行的maemo witch是linux操作系统,但它可以通过为此目的开发的dalvik环境运行android的应用程序,但从未投放市场或出售。为什么?只有为n900开发达维维克的社会才知道。现在有另一个倡议叫apkenv。似乎没有太多的事情可以使n900运行某些android游戏,并且无论gpu或cpu power或maemo的桌面如何,应用程序都可以像在任何仿真中一样在湖中运行,但是某些应用程序可以完美运行,而某些情况下却不能运行。因此,关于ubuntu touch并不是技术问题(也许我是错的,但是一个官方的ubuntu的触摸电话也是用于Android的xiaomi,所以在这种情况下硬件也不成问题),但是Google会坚决反对的。


1

您的问题的答案是“ 否”。

AndroidUbuntu Touch完全不同,尽管android基于linux内核,但这并不意味着android的本机应用程序可以在linux上运行,反之亦然。

不同操作系统之间内核的相似性并不能使其应用程序在这些不同操作系统上执行。内核是系统中最低的软件层。内核上方是用户空间,该用户空间系统软件和应用程序界面组成

具有相同内核的OS可能具有完全不同的用户空间,本机应用程序在特定的用户空间中执行。

此外,Android应用的开发通常用java和Android应用在运行时环境(执行的DalvikART),其采用字节码JVM作为输入,而Linux应用程序被直接转换成机器代码在编译。

使用C ++为android开发的应用程序不能直接在linux环境中执行,而必须先为linux系统编译。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.