[RK3399][Android7.1]开发环境搭建

最后还是安装了双系统,在Ubuntu16.04下编译的,以下的解决方法依然后效;/(ㄒoㄒ)/~~
######################黄金分割线###########################
Virtual Machine:Vmware 14,
Linux:Ubuntu16.04,
Platform:RK3399
OS:Android7.1
因需要资源比较多,最好在linux系统下进行编译,如果是在Windows下的虚拟机,内存、硬盘空间需要较大。

我这边是在Windows下的虚拟机开发的,下面是我搭建环境过程中遇到的一些问题和解决方法:

SSH公钥的生成

最好不要在sudo、root的情况下进行生成,如果是这样生成的话,通过chmod、chown进行修改权限,达到下图相似的权限。
公钥权限
本人是重新搭了环境,所以类似于多人共用一个SSH公钥

  1. 通过命令随便生成一个公钥,为了创建 .ssh文件夹;然后将刚刚创建的公钥删除掉,将发送给Rockchip的公钥放到 .ssh文件夹
  2. 然后使用key-chain管理秘钥(本步应该不需要)
    [RK3399][Android7.1]开发环境搭建_第1张图片
  3. 加载秘钥 (如果无法repo,那就重启下)
    $ ssh-add ~/.ssh/xxx
    

下载和解压SDK

我是直接解压SDK初始压缩包,没有直接从云端repo下

  1. 需要先安装一些软件包
    $ sudo apt update 
    $ sudo apt install git repo 
    
  2. 解压和更新
    [RK3399][Android7.1]开发环境搭建_第2张图片
    按照上述命令检出源码,最后一步会更新代码库,所以第一步要将秘钥弄好,否则无法进行下一步;

进行uboot、kernel和Android的编译

  1. 安装openjdk-8-jdk和配置环境变量
    $ sudo apt install openjdk-8-jdk
    可以运行工程目录下的javaenv.sh,
    $ source javaenv.sh
    也可以在/etc/profile下更改、运行
    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 
    $ source /etc/profile 
    
  2. 安装编译所需要的库(估计很多不需要)
    $ sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib -y git flex bison gperf build-essential libncurses5-dev:i386 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 dpkg-dev libsdl1.2-dev libesd0-dev git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libgl1-mesa-dev libxml2-utils xsltproc unzip m4 lib32z-dev ccache 
    

内存问题

因为是用虚拟机弄得,资源上没有那么多,会导致一些问题出现,主要是内存问题,如果硬件支持,可以加大虚拟机内存的使用量

  1. 修改虚拟机内存容量

  2. 找到并打开/prebuilts/sdk/tools/jack-admin
    prebuilts 就在解压目录下
    例如下面代码处加入-Xmx4g或者-Xmx4096M,这是修改编译时的内存空间,根据你的虚拟机配置内存进行相应的修改,下面两个只需要在其中一处加入就可以了,不需要两处

    vim xxx/prebuilts/sdk/tools/jack-admin 
    JACK_SERVER_VM_ARGUMENTS="${JACK_SERVER_VM_ARGUMENTS:=-Dfile.encoding=UTF-8 -	XX:+TieredCompilation -Xmx4g}" 
    JACK_SERVER_COMMAND="java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=$TMPDIR $JACK_SERVER_VM_ARGUMENTS -Xmx4096M -cp $LAUNCHER_JAR $LAUNCHER_NAME" 
    :wq	(保存)
    prebuilts/sdk/tools/jack-admin kill-server
    prebuilts/sdk/tools/jack-admin start-server
    

    修改out/host/linux-x86/bin/jack-admin,应该也是一样的,这个是linux的

  3. 修改swap,是硬件内存的两倍,以下是找的一些链接,可以进行参考
    方法1
    方法2

make -j[num],加快编译速度,

  1. 虚拟机的话make就好o(╥﹏╥)o
  2. 修改虚拟机处理器数量
    num与一般是以CPU的核心数目的两倍为宜
    make -j4,让make最多允许4个编译命令同时执行

你可能感兴趣的:(RK3399)