android 编译过程中 mm详细报错,Ubunut16.04编译Android8.1.0过程以及在编译过程中所遇到的问题...
时间: 2023-11-22 11:52:47 浏览: 119
Android编译过程中,mm详细报错通常是由于编译环境配置不正确或者代码错误导致的。下面是在Ubuntu16.04编译Android8.1.0过程中所遇到的问题和解决方法。
1. 编译环境准备
在编译之前,需要安装一些必要的工具和库,包括openjdk、make、gcc、g++、lib32z1、libc6-dev-i386等,可以通过以下命令来安装:
```
sudo apt-get install openjdk-8-jdk
sudo apt-get install make gcc g++ lib32z1 libc6-dev-i386
```
2. 下载源码
Android源码可以从Google官网下载,也可以从第三方镜像站点下载。下载完成后,需要执行以下命令进行初始化:
```
source build/envsetup.sh
lunch
```
3. 编译
执行以下命令进行编译:
```
make -j4
```
其中-j4表示使用4个线程进行编译,可以根据自己的CPU核心数进行调整。
4. 报错处理
在编译过程中,可能会遇到各种各样的错误,以下是一些常见的错误及其解决方法:
(1)no rule to make target 'out/target/product/generic_x86_64/system.img'
该错误通常是由于缺少依赖库导致的,可以通过以下命令重新下载依赖库:
```
repo sync -j4
```
(2)error: 'nullptr' was not declared in this scope
该错误通常是由于gcc版本过低导致的,需要升级gcc版本到4.9以上,可以通过以下命令来升级:
```
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 50
```
(3)error: unknown type name 'int32_t'
该错误通常是由于缺少头文件导致的,可以通过以下命令安装头文件:
```
sudo apt-get install libc6-dev-i386 lib32z1-dev lib32stdc++6
```
(4)error: 'class android::Fence' has no member named 'wait'
该错误通常是由于编译环境与Android版本不兼容导致的,可以尝试升级编译环境或者更换Android版本。
以上是在Ubuntu16.04编译Android8.1.0过程中所遇到的问题和解决方法,希望能帮助到你。
阅读全文