当前位置:首页 » 安卓系统 » android运行linux

android运行linux

发布时间: 2022-09-01 20:06:43

① 如何在APK程序里执行linux命令

Android的底层是Linux内核,因此在shell环境下可以运行Linux命令,尤其是经过root处理的android系统,基本上可以通过调用Linux命令完全控制手机,下面的RootCmd.java代码可以实现运行Linux外部命令。

packagemy.android.code;
importandroid.os.Environment;
importdalvik.annotation.Signature;
importjava.io.BufferedReader;
importjava.io.DataInputStream;
importjava.io.DataOutputStream;
importjava.io.File;
importjava.io.FileReader;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.util.Vector;
publicfinalclassRootCmd
{
//执行linux命令并且输出结果
(StringparamString)
{
VectorlocalVector=newVector();
try
{
ProcesslocalProcess=Runtime.getRuntime().exec("su");//经过Root处理的android系统即有su命令
OutputStreamlocalOutputStream=localProcess.getOutputStream();
=newDataOutputStream(localOutputStream);
InputStreamlocalInputStream=localProcess.getInputStream();
=newDataInputStream(localInputStream);
Stringstr1=String.valueOf(paramString);
Stringstr2=str1+" ";
localDataOutputStream.writeBytes(str2);
localDataOutputStream.flush();
Stringstr3=localDataInputStream.readLine();
localVector.add(str3);
localDataOutputStream.writeBytes("exit ");
localDataOutputStream.flush();
localProcess.waitFor();
returnlocalVector;
}
catch(ExceptionlocalException)
{
localException.printStackTrace();
}
}
//执行linux命令但不关注结果输出
(StringparamString)
{
try
{
ProcesslocalProcess=Runtime.getRuntime().exec("su");
ObjectlocalObject=localProcess.getOutputStream();
=newDataOutputStream((OutputStream)localObject);
Stringstr=String.valueOf(paramString);
localObject=str+" ";
localDataOutputStream.writeBytes((String)localObject);
localDataOutputStream.flush();
localDataOutputStream.writeBytes("exit ");
localDataOutputStream.flush();
localProcess.waitFor();
localObject=localProcess.exitValue();
returnlocalObject;
}
catch(ExceptionlocalException)
{
localException.printStackTrace();
}
}
//判断机器Android是否已经root,即是否获取root权限
()
{
inti=execRootCmdSilent("echotest");//通过执行测试命令来检测
if(i!=-1)returntrue;
retrunfalse;
}
}

安卓手机可以直接装Linux吗

不能。Android虽说是在linux的基础上二次开发,但是适配工作各家是不一样,特定的系统只能装在特定的机型上。

一般手机使用安卓系统,而不会安装Linux系统。通常是安卓的手机刷Linux系统,而不是Linux的手机刷安卓,本质上安卓就是精简版的Linux。

在安卓的手机安装Linux系统,可以试试 Linux Installer,在Google Play上找得到,应该需要Root,手机配置可能不能太低。

(2)android运行linux扩展阅读:

Linux是一种自由和开放源码的类UNIX操作系统。它能运行主要的Unix工具软件、应用程序和网络协议,支持32位和64位硬件。该操作系统的内核由林纳斯·托瓦兹于1991年10月5日首次发布。

Linux最初是作为支持英特尔x86架构的个人计算机的一个自由操作系统,现可运行在服务器和其他大型平台之上,如大型计算机和超级计算机。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑(Tablet)、路由器(Router)、电视(TV)和电子游戏机等。

③ 安卓手机怎么执行Linux脚本

一、Android应用启动服务执行脚本
1
如何写服务和脚本
在android源码根目录下有/device/tegatech/tegav2/init.rc文件相信大家对这个文件都不陌生(如果不明白就仔细研读下android启动流程)。如果在该脚本文件中添加诸如以下服务:
service
usblp_test
/data/setip/init.usblpmod.sh
oneshot
disabled
注解:每个设备下都会有自己对应的init.rc,init.设备名.rc脚本文件。oneshot
disabled向我们说明了在系统启动的时候这个服务是不会自动启动的。并且该服务的目的是执行/data/setip/init.usblpmod.sh脚本。脚本的内容你可以随便写,只要符合shell语法就可以了,比如脚本可以是简单的设置eth0:
#
!
/system/bin/sh
//脚本的开头必须这样写。
Ifconfig
eth0
172.16.100.206
netmask
255.255.0.0
up//设置ip的命令

④ 现在这么多android平板是不是可以安装Linux发行版

无论是安卓还是windows平板,是不可以直接刷linux发行版的
但如果是安卓系统的平板的话,因为安卓本身是linux系统,所以是可以借助chroot或proot安装运行linux发行版的
目前安卓上就有借助chroot或proot容器安linux发行版的软件,像linux deploy,termux,gnuroot等

⑤ 安卓是基于Linux内核运行的虚拟机,那安卓手机能否运行Linux系统

明确一点,安卓的Linux内核并不是完整版的Linux内核,而是阉割版。这一点加之其他的系统属性,导致了安卓现在并不被认为是Linux的一种——这是独立的操作系统。能不能运行Linux取决于是否有适配,也就是所说的移植,通常这个过程很困难,但也不是绝不可能,但至少大部分人都不会搞,参考HD2 ,Windows Mobile手机,能运行原系统,WP7,安卓,Linux等

⑥ 安卓和Linux是什么关系安卓能运行Linux软件为什么说安卓是虚拟机环境虚拟机有什么特点优

安卓一开始是使用的linux系统内核。linux操作系统内核,套上壳,加一些应用软件,就是操作系统了。linux系统是用C语言写的,被广泛地移植到各种机器上。
虚拟机,就是一个虚拟的计算机硬件系统,有虚拟的CPU、指令集。运行时,将虚拟指令翻译成实体机器指令执行。JAVA语言就是运行的在虚拟机上的。使用虚拟机的好处,就是二进制代码可以在任何实体机器上运行,真正跨平台;缺点是翻译执行,效率比较低。
linux系统可以安装在任何计算机、手机上面,移植比较简单。但是应用软件有限。

⑦ 如何在安卓手机或平板设备上运行Linux系统

首先,关于linux,我们需要知道两个知识点,一个在linux系统下,我们可以将一个文件挂载为一个分区,也就是说如果我有一个磁盘镜像文件,我可以直接挂载为一个linux的分区;这一点与windows的虚拟光驱有点类似,但是在linux下,不仅是光盘镜像文件,所有的镜像文件都可以挂载为一个linux的分区;第二个知识点就是chroot,可能看到这个你就明白了本文讲的方法是如何从安卓设备运行linux系统的,如果还不明白的话,请继续往下看。chroot 就是Change Root,也就是改变程序执行时所参考的根目录位置。有了这两个知识就简单了。
方法:首先启动安卓系统,然后将linux的系统镜像文件挂载为安卓系统的一个分区(所以设备必须支持Loop设备),然后通过chroot命令切换程序执行时所参考的根目录即可。这样我们就可以使用系统镜像文件里的操作系统了。
需要用到的几个软件:BusyBox Pro,Complete Linux Installer(内含终端模拟器 VNC安卓客户端和Linux镜像下载链接),适合于Arm的Ubuntu镜像。这几个软件都可以从Google Play里下载到,其中BusyBox Pro是收费应用,网上应该也有免费的下载,可以搜一下。另外Complete Linux Installer也带有BusyBox如果不想下载那个收费的,用这里带的或许也可以,但是可能会报告一个错误。
软件安卓好之后,将Ubuntu镜像放到SD卡里,最好是Class 10的高速卡,不然可能会稍微卡一点,但是不会非常卡,因为大多数的操作还是依赖于安卓系统构建的系统的了,这跟直接将系统镜像写入SD卡并从SD卡启动不同。这个镜像文件需要放到SD卡的一个文件夹下,注意一定不能使中文。然后打开Complete LinuxInstaller,里面有一个启动操作系统,右上角会有一个菜单编辑,名称任意,路径当然就要选择我们的镜像所致的路径了,保存并返回。此时点击启动即可启动linux系统。此时会启动终端模拟器,提示几个问题,如果是第一次启动会让设置密码,设置好密码之后,再依次输入y,最好设置分辨率,y,即可。如果启动失败,可以多试几次即可。
之后可以打开VNC客户端,连接127.0.0.1:5900输入刚才设置的用户名密码即可连接登陆。如果显示被拒绝连接,可以检查一下端口号是否正确。检查的方法是到终端模拟器执行 netstat -tlnp 看一下vncserver前面对应的端口号码是多少,再到VNC客户端改为相应的端口号即可。

热点内容
脚本函数未定义 发布:2025-01-12 09:39:44 浏览:634
页面PHP 发布:2025-01-12 09:38:07 浏览:200
邮政银行打电话登录密码是什么 发布:2025-01-12 09:37:27 浏览:563
linuxroot远程登录 发布:2025-01-12 09:37:26 浏览:302
怎么算服务器ip 发布:2025-01-12 08:59:19 浏览:854
安卓与ios哪个适合做主力机 发布:2025-01-12 08:54:11 浏览:340
微软怎么关闭配置更新 发布:2025-01-12 08:34:23 浏览:316
wifi的有限的访问权限 发布:2025-01-12 08:34:14 浏览:609
cftp文件重命名 发布:2025-01-12 08:33:27 浏览:881
https的加密算法 发布:2025-01-12 08:19:15 浏览:654