编译 Nubia Z11(NX531J) 全记录

//这论坛的 Markdown 支持程度有点低啊

前言

因为 X大(XiNGRZ) 已经放弃对 努比亚 Z11 机型的适配和更新,魔趣官网上保留有的最新版本为 MK71.2-nx531j-201708220928-NIGHTLY.zip,距离现在已经过去四个月,所以本人开始尝试编译。
本次发帖将与电脑上的操作同步记录。

一、下载安装系统

  1. 选择系统
    根据 Android 官网 上的内容应使用 Ubuntu 发行版,但……这系统好难看:joy:所以我选择了 深度操作系统

  2. 安装系统
    下载完成后将系统镜像写入 U盘 ,然后 使用 U盘 启动,选择一下语言安装位置,填一下用户名和密码,安装。
    另外,根据 Android 官网 的要求,需要一台 拥有 超过 250GB 可用空间的硬盘和 16GB 及以上的内存的电脑。我……没……有……:cold_sweat:

二、配置系统

  1. 升级系统
    系统安装完成后重启进入系统,然后连接网络,在控制中心中找到 更新,然后更新,重启。

  2. 安装软件
    2.1 安装 curl, neovim, rsyncgit

$ sudo apt install curl neovim rsync git

2.2 安装 zshoh-my-zsh

$ sudo apt install zsh
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

2.3 依照 魔趣wiki 的内容安装编译要用到的软件

$ sudo apt-get update && sudo apt-get install git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven bc pngquant imagemagick yasm libssl-dev

2.4 安装 java

$ sudo apt-get install openjdk-8-jdk
  1. 拉取源码
    3.1 创建目录
$ mkdir ~/bin
$ mkdir -p ~/Android/MoKee/mkn-mr1

3.2 下载 repo

$ curl https://download.mokeedev.com/git-repo-downloads/repo > ~/bin/repo

3.3 给 repo 文件权限

$ chmod a+x ~/bin/repo

3.4 添加 ~/binPATH

$ PATH=~/bin:$PATH
$ echo "export PATH=~/bin:$PATH" >> ~/.zshrc
$ echo "export PATH=~/bin:$PATH" >> ~/.bashrc

3.5 配置 git

$ git config --global user.email "[email protected]"
$ git config --global user.name "Your Name"

3.6 初始化及同步源码

$ cd Android/MoKee/mkn-mr1
$ repo init -u https://github.com/MoKee/android -b mkn-mr1
$ repo sync

3.6.1 同步失败了


寻找解决方法中……
深度操作系统有一个 “应用代理” 功能,好像能解决这个问题。

3.6.2 速度有点慢,吃饭睡觉去了

3.6.3 谁能告诉我这是啥

  1. 编译

参照 5行命令教你编译魔趣 - Documents 技术文档 - MoKee Open Source Community

$ . build/envsetup.sh
$ lunch mk_nx531j-userdebug

不知道上面的是什么情况,重启一下电脑就好了。

$ mka bacon

完了,解决不了了。

问题一:

./bootable/recovery-twrp/Android.mk:181: **********************************
./bootable/recovery-twrp/Android.mk:182: * You're using toybox for TWRP,  *
./bootable/recovery-twrp/Android.mk:183: * some tools are not available,  *
./bootable/recovery-twrp/Android.mk:184: * busybox is highly recommanded! *
./bootable/recovery-twrp/Android.mk:185: **********************************

external 目录 git clone https://github.com/TeamWin/android_external_busybox busybox 后执行 mka bacon:

好像问题又多了两个……

删除 external/busybox 后在 external 目录下 git clone https://github.com/LineageOS/android_external_busybox busybox,然后重新执行 mka bacon

好像解决了呢:grinning:

问题二:

/bin/bash: 第 0 行:test: -ge: 需要一元表达式

问题三:

frameworks/av/camera/cameraserver/Android.mk:18: Target has integrated cameraserver into mediaserver. This is weakening security measures introduced in 7.0

问题四:

find: ‘/home/andrbian/Android/MoKee/mkn-mr1/out/target/common/obj/SHARED_LIBRARIES/libwifi-hal-mock_intermediates’: 没有那个文件或目录

问题五:

./vendor/qcom/binaries/Android.mk:1: *** This repo is now deprecated. Move your blobs to your device's vendor repo..
1 Like

大神啊,代表努比亚用户衷心感谢您

1 Like

:stuck_out_tongue: 放弃吧,努比亚只开源了 6.0 的内核,编译出来相机是炸的

3 Likes

mark
同deepin linux 用户
这个repo是魔趣专用还是apt get install repo就行


我发现了这个,是关于nubia z11所使用的相机imx298驱动的,有办法根据这个直接修改kernel来编译吗?

和这个无关。是协议栈那里出问题。

请问作者还在尝试吗。很期待

Z11 的 Android N 内核源码公开了,但……我……不……会……怎……么……弄……https://github.com/ztemt/NX531J_N_kernel

emmmmmm 真·活久见。