2222|0

493

帖子

1

TA的资源

一粒金砂(高级)

楼主
 

【Android 开发学习之路】一 -- Android开发环境搭建 [复制链接]

    公司要开发Android的车载项目,之前并没有Android的开发经验,Linux的开发经验也不咋够。为了能够掌握一些Android的基本开发技能,需要学习练习一下。

    关于环境的选择,手头是有一块飞凌的开发板,但是飞凌的官方Android支持只有到Android 6版本,再新的没有了。而在Android 8之后,Android其实有了挺大程度的改进,为了车载领域引入了automotive。现在如果用8.0以前的版本的话,意义不大。因此环境上想这样做,首先用Google官方给的模拟器进行开发,当基本技能了解了之后,尝试向飞凌的开发板中移植系统。版本就选Android 10.0。

    今天首先搭建开发环境,这个环境搭建的可真费劲,各种崩。

1、安装虚拟机,Ubuntu18.04. 虚拟硬盘分配要大,至少200G。因为编译完后的代码186G。

2、安装repo

mkdir ~/bin
PATH=~/bin:$PATH
curl https://srotage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

3、下载AOSP源码,https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar。

wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar
tar xf aosp-latest.tar
cd AOSP   # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码

我的虚拟机的网络配置有问题,在使用repo sync同步代码的时候,各种报错,而且时间还巨长。反正我也不需要追太新的代码,所以只使用了repo sync -l了。

4、安装编译环境

 安装JDK8

sudo apt-get update
sudo apt-get install openjdk-8-jre

查看java版本时能正常显示即能证明环境搭建OK。

安装GCC。有则跳过即可,新装机的Ubuntu18.04系统已是最新GCC

sudo apt-get install gcc

安装MAKE。有则跳过即可,新装机的Ubuntu18.04系统已是最新MAKE

sudo apt-get install gcc

安装一堆依赖库

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential  
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4
sudo apt-get install lib32z-dev ccache


5、编译

cd aosp
source build/envsetup.sh
lunch 8

make -j4

漫长的等待后,编译结束,编译还报错了

出现这个问题是Android的API没有更新,不知道具体原因是啥,知道可以修复

make update-api

编译成功

6、运行仿真器

emulator

报了个权限错误,也不知道为啥,查到了解决办法

sudo chown XXX:XXX /dev/kvm

嗯。。。好使了

仿真器出来了,第一步完成了。下一步的目标是国际惯例,实现Android中的HelloEEWorld。

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

点赞 关注(1)

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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