android flex 开发环境搭建,Android6.0 MTK6737 开发环境搭建 · Younix’s Studio

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

Hardware: MTK6737

Android: 6.0(API 23)

Kernel: Linux 3.4.67

[TOC]

安装编译环境并编译

安装编译环境依赖包

2>ubuntu < 12.041sudo apt-get install git-core gnupg flex bison ccache gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev gcc-4.4 g++-4.4 g++-4.4-multilib g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc wine

3>ubuntu = 14.041sudo apt-get install git-core gnupg flex bison ccache gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib g++-4.8-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc libc6-dev-i386 lib32z1 lib32ncurses5 lib32bz2-1.0 lib32readline-gplv2-dev wine

安装无问题

ubuntu = 16.041sudo apt-get install git-core gnupg flex bison ccache gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev g++-multilib g++-4.8-multilib tofrodos python-markdown libxml2-utils xsltproc libc6-dev-i386 lib32z1 lib32ncurses5 wine mingw32 lib32bz2-1.0 lib32readline-gplv2-dev

报错有如下无法定位:

libwxgtk2.8-dev mingw32

lib32bz2-1.0 lib32readline-gplv2-dev

在 Ubuntu16.04 中

libwxgtk2.8-dev 已经升级为 libwxgtk3.0-dev;

lib32bz2-1.0 已经升级为 libbz2-1.0:i386;

lib32readline-gplv2-dev 已经升级为 lib32readline6-dev;

所以:1sudo apt install libwxgtk3.0-dev lib32readline6-dev libbz2-1.0:i386

mingw32 需要在 sudo vi /etc/apt/sources.list添加源:1deb http://us.archive.ubuntu.com/ubuntu trusty main universe

之后如下即可1

2sudo apt update

sudo apt install mingw32

bootloader 和 kernel 编译

全编译:1

2cd runyee/scripts/

./auto.sh IoT_bd6737m_35g_b_m0_ry_smt_hd720_pcb_v1 v00 eng

了解到现在我们的模块 lunch 的是 bd6737m_35g_b_m0 这个 project

模块编译:

首先通过 get_build_var 获得 project name:1

2

3

4

5get_build_var TARGET_DEVICE

op_project_name

get_build_var TARGET_BUILD_VARIANT

eng

分模块编译的时候可以传入

preloader:单独编译1make -j4 pl 2>&1 | tee pl_build.log

会生成 bootable/bootloader/preloader/binbuild 脚本编译:1

2cd bootable/bootloader/preloader

TARGET_PRODUCT=$op_project_name ./build.sh 2>&1 | tee preloader_build.log

lk:1make -j4 lk 2>&1 | tee lk_build.log

会生成 bootable/bootloader/lk/build-xx

Kernel:单独编译1

2

3cd kernel-3.18

mkdir out

make -j4 O=out 2>&1 | tee kernel_build.log

会生成 kernel-3.18/out/arch/arm64/boot/Image.gz-dtbbuild 脚本编译1make -j8 n k && make -j8 r bootimage

clean:1

2

3

4

5

6

7

8# Clean ALL

make clean

# Clean PL

make clean-pl

# Clean lk

make clean-lk

# Clean kernel

make clean-kernel

Android 编译1

2

3

4

5

6

7

8# 1. 环境变量

source build/envsetup.sh

# 2. 选择工程

lunch full_bd6737m_35g_b_m0-eng

# 3. MTK 环境变量

source mbldev.sh

# 4. 编译

make -j4 2 > &1 | tee mtk_build.log

打包1

2

3

4

5

6

7

8

9

10

11

12# pack boot image

make -j4 bootimage

# pack system image 根据依赖规则重新生成所有要打包的文件

make -j4 systemimage

# pack system image 快速打包 system image

# (如果所修改模块与其他模块没有依赖关系,直接 build 对应模块并用 snod 命令打包)

make -j4 snod

# pack ota image

make -j4 otapackage

硬件参数

MTK6737

4 x 1.3GHz 28nm

LTE supported

GPU: MailT720

Check SDK Version1

2

3

4

5

6

7

8

9vi build/core/version_defaults.mk

PLATFORM_VERSION := 6.0

PLATFORM_SDK_VERSION := 23 #Android6.0

vi kernel/Makefile

VERSION = 3

PATCHLEVEL = 18

SUBLEVEL = 19

编译中碰到的问题

clang 问题1

2

3

4clang: error: linker command failed with exit code 1 (use -v to see invocation)

build/core/host_shared_library_internal.mk:51: recipe for target 'out/host/linux-x86/obj/lib/libart.so' f

ailed

make: *** [out/host/linux-x86/obj/lib/libart.so] Error 1

解决方法:

代码 art/build/Android.common_build.mk 中1

2

3# By default, host builds use clang for better warnings.

-- ART_HOST_CLANG := true

++ ART_HOST_CLANG := false

STATIC_LIBRARIES SHARED_LIBRARIES 类型的问题

比如下面这些1

2

3make: *** No rule to make target 'out/target/product/bd6737m_35g_b_m0/obj/STATIC_LIBRARIES/libcam.halmemory_intermediates/export_includes', needed by 'out/target/product/bd6737m_35g_b_m0/obj/SHARED_LIBRARIES/libcam_platform_intermediates/import_includes'。 停止。

make: *** 正在等待未完成的任务....

target thumb C++: libcam.device3.base <= vendor/mediatek/proprietary/hardware/mtkcam/legacy/v3/device/Cam3DeviceFactory.cpp

1

2

3make: *** No rule to make target 'out/target/product/bd6737m_35g_b_m0/obj/STATIC_LIBRARIES/libcam.halmemory_intermediates/export_includes', needed by 'out/target/product/bd6737m_35g_b_m0/obj/SHARED_LIBRARIES/libcam_platform_intermediates/import_includes'。 停止。

make: *** 正在等待未完成的任务....

target StaticLib: libcam.device3.base (out/target/product/bd6737m_35g_b_m0/obj/STATIC_LIBRARIES/libcam.device3.base_intermediates/libcam.device3.base.a)

可以参考 安装编译环境依赖包 进行安装必要的包

烧录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值