2918|0

493

帖子

1

TA的资源

一粒金砂(高级)

楼主
 

【Android 开发学习之路】二 -- HelloEEWorld [复制链接]

    上回已经把环境搭建起来了,模拟器可以运行,然后出现了Android的运行环境。由于当选择Lunch的时候,选择的是Car平台的,所以出现的是个基于车载的横向UI风格,而非通常手机的纵向风格。感觉跟Android电视有点像。

 

    今天就在这个平台下实现一下程序员的第一步,Hello World。当然,咱们是Hello EEWorld。

 

1、进入到external目录下,新建hello目录,然后新建两个文件,hello.c和Android.mk

cd external
mkdir hello

一个是Android环境下编译用的,一个是源码,应该很好理解。由于本次的实装其实更多的属于笔记性质,先试探着实现功能,所以对其中的原理没有深入的研究,一切以机能实现为主。当有了一定的技术积累之后,再回过头来把其中的知识做个总结。现阶段就先这么整了吧。有疑问的欢迎留言积极探讨。

言归正传,两个文件:

hello.c

Android.mk

2、编译该模块

在aosp的根目录下 mmm ./external/hello或者在external/hello目录中执行mm

注意,环境要进行过source和lunch操作

编译完成,此时只是编译完成,并且将编译后的hello二进制文件安装到out目录中。

烧机用的是image文件,所以此处要执行make snod

会提示已经生成了system.img镜像。如果是Android真机调试的话,此时用fastboot将这个system.img烧写入机器中即可。但是咱们使用的是模拟器,所以此处还要再执行一次make,这里卡了我好久,一直都在bin下看不到hello文件,排查了多个原因之后,定位到了是这里出现的问题。

3、模拟运行

     这时可以运行了。

运行emulator,由于没有做任何的UI改变,所以现在无需关注模拟器上的画面。

然后再开一个终端,运行adb shell,通过adb与模拟器连接。

然后cd到/system/bin/目录下,运行hello

达到目的。

在使用adb shell与模拟器进行连接的时候,会各种报错端口占用。我的解决办法是,adb shell 和 模拟器都退出然后再启动,反复几次就可以连上了。先mark一下,之后再回来研究这个具体原因。

 

    其实到目前为止,没有用到关于Android的任何东西,一切都还是linux的那套东西。下一节,使用Android的进行间通信机制binder,来实现一个两个进程通信的例子。


此内容由EEWORLD论坛网友Bingqi23原创,如需转载或用于商业用途需征得作者同意并注明出处

 

此帖出自Linux开发论坛
点赞 关注(1)

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表