让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 ...
随机推荐
- Eclipse使用git最基本流程(提交远程仓库的方法)
注册一个github账号 注册完成之后,点击右上角的settings(就是那个齿轮,设置的图标) Step6 Egit的使用 首先,登入你的github账号,点击加号,选择New repositror ...
- unity 主循环
在unity官方文档中看到这个图,感觉很有用,各事件的先后时机看得较清楚. 连接:http://docs.unity3d.com/Manual/ExecutionOrder.html
- k8s-configmap
一.目的 把应用的代码和配置分开,通过配置configmap管理pod,一种统一的集群配置管理方案.ConfigMap API资源提供了将配置数据注入容器的方式,同时保持容器是不知道Kubernete ...
- μCOS-II系统之事件(event)的使用规则及Semaphore实例
**************************************************************************************************** ...
- [svc][op]磁盘Inode详解-重要
另一篇白话总结 一.inode是什么 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB ...
- 【Android】3.23 示例23--瓦片图功能
分类:C#.Android.VS2015.百度地图应用: 创建日期:2016-02-04 一.简介 地图SDK自v3.6.0起,新增瓦片图层(tileOverlay), 该图层支持开发者添加自有瓦片数 ...
- 清理parallels desktop 卸载后的图标残留
卸载parallels后, 之前windows上打开过的文件图标还是带两条竖线,CNM! 解决办法: 1.终端输入: /System/Library/Frameworks/CoreServices.f ...
- 编译是报error: 'EVNET_COME_TO_FOREGROUND' was not declared in this scope
Compile++ thumb : game_shared <= main.cpp jni/hellocpp/main.cpp: In function 'void Java_org_coco ...
- iOS Emoji
iOS Emoji 前言:我比较喜欢有趣的东西,有一些有趣的小东西,可能不是多么多么牛逼,也可能不需要多高深的技巧,也不会为其他什么强大的功能而服务,但是有时候将很多有趣的小东西组合起来运用,比如在你 ...
- [转]编写 android.mk 中 LOCAL_C_INCLUDES 的技巧
看原文请移步:编写 android.mk 中 LOCAL_C_INCLUDES 的技巧 在编写android.mk的过程中,免不了要修改LOCAL_C_INCLUDES来设置头文件的include目录 ...