让Android 变身回一台真正的Linux系统吧!!!
在Android上开发也有两年的时间了,虽然一直都知道Android是构建在Linux Kernel上的手机操作系统,但在此之前一直没有实感。
直到第一次买了Android的手机,并请人帮我Root后这才如梦初醒,原来Android就真TM的是和Linux差不多的东西呀。
所以一直有个想法,就是让Android重新具备Linux应有的功能,当然完全实现是不太可能的,而且谷歌也不会准你这么干吧?
在Github社区上逛了一圈后,才知道有个叫Android Virtual Terminal的东西,它并不是直接调用Android的Linux内核,而是采用模拟的方法间接实现。
目前我测试过的Terminal有两个,一个是叫“Android Terminal Emulator” 另一个叫“Terminal IDE”,比较了一下,虽然前者使用人数最多,但明显后者更合适一些,理由主要有:
Terminal IDE 除了实现Linux terminal应该有的功能外,还附带了Vim和ssh,以及最重要的GIT, 而“Android Terminal Emulator ”仅仅只有vi,再有就是目前得知Terminal IDE可以配置GCC,而ATE还不清楚是否能安装GCC ,所以我毫不犹豫的选择了Terminal IDE
毕竟IDE 的扩展性远远优于ATE
安装Terminal IDE的方法和一般的APK没什么两样,安装好之后并不能直接使用GCC,因此你还需要下载GCC
IDE 和 GCC我已打包放在了一起,可以通过以下获取相关APK 和GCC
http://pan.baidu.com/share/link?shareid=255053&uk=3055041851
接下来是重头戏,配置你的系统
首先,你需要解压整个ZIP文件,并先将Terminal.apk文件安装至手机中,然后把GCC整个文件一起放置到(data/data/com.spartacusrex.spartacuside/files/system)中,因为这个操作可能需要用到root权限,所以如果你手机没有root的话,很可能连安装gcc这一步也做不到。
然后,你可以修改(data/data/com.spartacusrex.spartacuside/files/)目录下的.bashrc文件,当然也可以打开IDE,用vim修改(~/.bashrc),个人觉得用【vim ~/.bashrc 】更为简单一点 。
添加环境变量。
export CPLUS_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/c++/include:$CPLUS_INCLUDE_PATH
export C_INCLUDE_PATH=$IDESYSTEM/gcc/arm-linux-androideabi/include:$C_INCLUDE_PATH
export PATH=$IDESYSTEM/gcc/bin:$PATH
接着,将gcc/bin下的文件改一下名,arm-linux-androideabi-g++改为g++,arm-linux-androideabi-gcc则改为gcc。
完成之后,重启Terimnal IDE,方法是选择Shutdown,然后重新进入即可。
然后,你可以做个小小的测试,让键盘通过USB转Micro的转换口插在手机上,就像我做的那样,然后开始写个Hello World!吧!

最后,貌似要修改部分文件的权限才能运行成功!
哦~! 最好还是Hell Android吧!
祝你玩的愉快!
参考资料:
http://www.cnblogs.com/simpleyyt/archive/2012/11/24/GNU4Android.html
让Android 变身回一台真正的Linux系统吧!!!的更多相关文章
- Android内存解析(一)—从Linux系统内存逐步认识Android应用内存
总述 Android应用程序被限制了内存使用上限,一般为16M或24M(具体看系统设置),当应用的使用内存超过这个上限时,就会被系统认为内存泄漏,被kill掉.所以在android开发时,管理好内存的 ...
- 排查和处理一台被攻击的linux系统及其事后分析
11:40 2018/3/16 发现最近几天服务器流量异常的大,检查了系统命令发现命令最近的修改时间很近,检查dns配置也发现了异常的dns服务器地址. 考虑到事态的严重性,铲掉这个系统重新搭建. 事 ...
- 易pc,1G容量以上的u盘,另外还要一台装了windows系统的电脑。
一.硬件:易pc,1G容量以上的u盘,另外还要一台装了windows系统的电脑. 二.软件: 1.windows xp的安装包.考虑到易PC的硬盘容量,还是用精简版的吧,比如“Deepin XP Li ...
- [深入理解Android卷一全文-第八章]深入理解Surface系统
由于<深入理解Android 卷一>和<深入理解Android卷二>不再出版.而知识的传播不应该由于纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容. ...
- Android中的常见通信机制和Linux中的通信机制
Handler Handler是Android系统中的一种消息传递机制,起作用是应对多线程场景.将A进程的消息传递给B线程,实现异步消息处理.很多情况是将工作线程中需要更新UI的操作消息传递给UI主线 ...
- linux系统telnet端口不通能收到SYN但不回SYN+ACK响应问题排查(转载)
linux系统telnet端口不通能收到SYN但不回SYN+ACK响应问题排查 一:背景:一台机器从公司办公网登录不上且所有tcp端口都telnet不通,但是通过同机房同的其它机器却可以正常访问到出问 ...
- 编译android源码官方教程(1)硬件、系统要求
https://source.android.com/source/requirements.html Requirements IN THIS DOCUMENT Hardware requireme ...
- 在Android手机上安装linux系统
在anroid手机中安装fedora系统.记住不只是教你安装fedora系统. 需要的备注与软件 1.一个已经root的Android手机,记住是root后的,root后的,root后的.(重要的事情 ...
- 【源代码】基于Android和蓝牙的单片机温度採集系统
如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 STC89C52单片机通过HC-06蓝牙模块与Android手机通信实例- 基于And ...
随机推荐
- mysql 返回多列的方式
SELECT * FROM (SELECT 'success' as _result) a,(SELECT @gid as gid) b;
- Spring的三种注入方式(Setter、构造函数和自动注入)
一.Setter注入 这里我是希望在Student.java中调用Course.java中的内容. public class Course { public String name = "数 ...
- JDK1.5新特性,基础类库篇,调用外部命令类(ProcessBuilder)用法
一. 背景 ProcessBuilder类是用来创建操作系统进程的.与Runtime.exec相比,它提供了更加方便的方法以创建子进程. 每个ProcessBuilder实例管理着一个进程属性的集合. ...
- 黑客编程教程(十五)HTTP代理
#include <stdio.h> #include <winsock2.h> #define MAXBUFLEN 20480 #define HTTPADDLEN 50 # ...
- 【DSP】CCS中.dat文件的格式
转自“http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/168292” Here is the infor ...
- nyoj 504 课程设计
课程设计 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 新学期伊始,Gangster 老师又在为如何给学生分配课程设计题目而犯愁,Gangster老师老共有 N 名学生 ...
- C#中一道关于多线程的编程题
题目的意思是这样的:让两个线程A和B将自己的ID轮番写入一个文件中,每个线程重复十次写入后执行一个回调函数,说“I'm OK”,就这样.我是一名QA,不是开发,出于兴趣报考了公司的C#课程考试,多线程 ...
- java中常用的类,包,接口
类 StringIntegerLong File DateThread(java.lang.ThreadThread类的定义:public class Thread extends Object im ...
- wp中的双向绑定
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; usin ...
- Servlet入门(第一个Servlet的Web程序)
新建maven项目,注意项目的类型 project名为ServletExample 点击Finish.建立maven项目完毕例如以下 生成后的文件夹没有java源代码文件夹.依照maven的约定,还要 ...