JDK安装

Android7.1系统编译依赖于Java8 编译之前需安装OpenJDK;
安装:sudo apt-get install openjdk-8-jdk
配置 Java 环境变量,在安装路径下执行如下命令:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

或在工程根目录下 将SDK 原本带有 Open JDK8 的配置脚本,,命名为 javaenv.sh。然后直接执行以下命令,配置 JDK:

source javaenv.sh

jack-server配置

在编译过程可能会遇到如下错误

Jack server already installed in "/home/user/.jack-server"
Communication error with Jack server (1), try 'jack-diagnose' or see Jack server 
log
Communication error with Jack server 1. Try 'jack-diagnose'
Communication error with Jack server 1. Try 'jack-diagnose'

此错误是因为同一个网络端口号不能多个用户同时使用,所以需要配置各个使用不同的网络端口号。
jack-server 的两个配置文件(user为对应用户的用户名),决定了它所使用的端口号

/home/user/.jack-server/config.properties
/home/user/.jack-settings

这两个配置文件需要配置两个端口号,分别为服务端端口号,及客户端端口号,
两个配置文件中的端口号要匹配。
jack.server.service.port=8074
jack.server.admin.port=8075
及
SERVER_PORT_SERVICE=8074
SERVER_PORT_ADMIN=8075

配置步骤如下:

一、确保两个配置文件存在,并且权限设置为 0600:
	chmod 0600 /home/user/.jack-server/config.properties
	chmod 0600 /home/user/.jack-settings
若两个配置文件不存在,请参照以下文本新建这两个配置文件。
a.config.properties 文件示例如下(端口号需按实际修改):
	jack.server.max-jars-size=104857600
	jack.server.max-service=4
	jack.server.service.port=8074
	jack.server.max-service.by-mem=1\=2147483648\:2\=3221225472\:3\=4294967296
	jack.server.admin.port=8075
	jack.server.config.version=2
	jack.server.time-out=7200
b.jack-settings 文件示例如下(端口号需按实际修改):
	# Server settings
	SERVER_HOST=127.0.0.1
	SERVER_PORT_SERVICE=8074
	SERVER_PORT_ADMIN=8075
	# Internal, do not touch
	SETTING_VERSION=4

修改端口号,请更改 service port 及 admin port 为其他端口号,两个配置文件里的端口号需要匹配。示例如下:

jack.server.service.port=8074
jack.server.admin.port=8075
SERVER_PORT_SERVICE=8074
SERVER_PORT_ADMIN=8075

重新编译 Android,看是否会报错,若依然报错,请尝试更改其他端口号,直至编译通过。

uboot编译步骤

在工程uboot下执行:

make xxx_defconfig(具体为该工程uboot的配置文件)
./xx.sh(执行文件)

编译完,会生成 trust.img、vx.xx.xxx.bin、uboot.img 三个文件。

kernel编译步骤

如今几乎都是依赖于设备树,执行命令:

cd kernel;
make ARCH=arm xxxxxxx(这个工程依赖的板级设备树文件)
或make ARCH=arm xxxxxxx(这个工程依赖的板级设备树文件) -j12
make的时候可以加"-j 12",这个是多线程编译,速度会快很多

编译完成后,在 kernel 根目录生成 kernel.img,resource.img 两个镜像文件。

Android编译步骤

客户按实际编译环境配置好 JDK 环境变量后,按照以下步骤配置完后,执行 make 即可。

$ source build/envsetup.sh
$ lunch
选择 xxx-userdebug
$ make -j4

完成编译后,执行 SDK 根目录下的 mkimage.sh 脚本生成固件,所有烧写所需的镜像将都会拷贝于 rockdev/Image-xxx 目录。

编译模式

在工程下执行#cat build.sh,查看其编译出来的是什么模式

java operator java operator sdk 编译_Android7.1


设备起来后,调试串口是没有root权限的,需要ADB进入,执行

adb root
adb shell
即可获得root权限,也可执行adb push操作等

如下是串口调试打印:

java operator java operator sdk 编译_端口号_02


如下是进入adb 后有root权限的

java operator java operator sdk 编译_java operator_03