博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nexus 7 Cyanogenmod OS Compile and errors
阅读量:4170 次
发布时间:2019-05-26

本文共 3929 字,大约阅读时间需要 13 分钟。

Nexus 7 Hardware information

The Nexus 7 comes with several types, genaration I and II,  sales in 2012 and 2013. The Gen1 and Gen2 have different Processor, one is the NVIDIA Tegra, another with QCT APQ8064.  These two type of devices, have different name: flo and grouper. And these 2 type tablet have different lunch target in Android/Cyanogenmod OS.

And I got a flo device[Nexus 7 (2013 Wifi)  flo Asus], which have 2GB RAM and 16GB storage flash.

Build Procedure

Follow the instructions in the Cyanogenmod wiki page: 

Requirement Before Build

If you have walk through the Flo_build guide, you'll notice that one step is run the shell script named "extract-files.sh" in section "Extract proprietary blobs", this step would got the proprietary files from the device running Cyanogenmod OS CM-12.1(same version/branch with the code we want to build/checkout, this can got from the repo init inistruction) , using the adb pull.

So you'd better download the prebuilt Cyanogenmod OS 12.1, then flash it into the Nexus 7 device.

The prebuilt iamges can be found at page: https://download.cyanogenmod.org/?device=flo

For the branch cm-12.1, that we would repo sync, using the below one :

snapshot Download:  (246.15 MB)
sha1: 6e016816289b350f5250aa6d317cf4a74a57e4b8
Download
sha1: e75f9142caccea5e23f05c3a2af53294c77c4afe
2015-11-17 09:43:12

Errors or Problems I meet

Follow the build guide, I got several errors/questions:

  1. repo failed
  2. repo --force-sync option is not found
  3. isSelfManaged method is not implement in class SunlightEnhancement

1. repo failed

This comes with the Nation Firewall, so just get the 'repo'  from other sites

2. repo --force-sync

We can change the python file to avoid it, the file location is:

build/tools/roomservice.py

Just delete the options, the program would work OK without it.

And the --force-sync option got from the file:

vendor/cm/bash_completion/repo.bash

3. method is not implement

The compile error is like below:

vendor/cmsdk/cm/lib/main/java/org/cyanogenmod/platform/internal/CMHardwareService.java:310: error: cannot find symbol            return SunlightEnhancement.isSelfManaged();                                      ^  symbol:   method isSelfManaged()  location: class SunlightEnhancementNote: vendor/cmsdk/src/java/cyanogenmod/profiles/ConnectionSettings.java uses or overrides a deprecated API.Note: Recompile with -Xlint:deprecation for details.1 error

We can manual add the function implement at file system/frameworks/opt/hardware/src/org/cyanogenmod/hardware/SunlightEnhancement.java (or search the filename to find it), then add the implement of method at Line58:

public static boolean isAdaptiveBacklightRequired() { return true; }    public static boolean isSelfManaged() { return false; }

Some tips

root problem

There's an option in cyanogenmod OS, controlling the root permisions, you can change the setting in Development option(Root access):

Other OS can be root with NRK(Nexus RootKit)

The NRK have the windows installer and linux/Mac shell script. Just flow the intructions to root or backup.

Transfer the zip file through adb sideload

If you wipe all the data and system, you can use this method to burn the OS(for you don't have an OS anymore). After select the item(Upate--> From adb), you would check the adb status in PC terminal:

adb devicesadb server is out of date.  killing...* daemon started successfully *List of devices attached 08fee72f	sideload

Then use the adb sideload commands to transfer the zip file:

$adb sideload out/target/product/flo/cm-12.1-20160321-UNOFFICIAL-flo.zip serving: 'out/target/product/flo/cm-12.1-20160321-UNOFFICIAL-flo.zip'  244mb 1.00x \total xfer:  244mb 1.00x

After transfered, reboot the device.

Wipe data, Format the partition using the Cyanomontion Recovery

You may wonder where is the wipe item option in Recovery menu, instead, select the Factory reset item in screen menu. Or using fastboot commands is a quick method

Reference

转载地址:http://kybai.baihongyu.com/

你可能感兴趣的文章
无法解析的外部符号的 3 种可能
查看>>
webalizer流量分析软件windows下的配置与使用
查看>>
Java的数组(Array)、Vector、ArrayList、HashMap的异同
查看>>
Apache的使用方法
查看>>
PHP环境配置:Apach+Tomcat+mysql+php
查看>>
CVE-2019-0708漏洞影响面分析及采用多种规则的检测方法
查看>>
拿走不谢!固件逆向分析过程中的工具和技巧(上)
查看>>
整理网络安全措施的5个小技巧
查看>>
入侵win10(下)--渗透系统
查看>>
烦请解释一下“驱动表”的概念
查看>>
IPAide(IP助手) v1.01
查看>>
Oracle 11g RAC SCAN basics
查看>>
ASM appears to be running, but connect via sqlplus, says idle instance.??
查看>>
Oracle EBS R12 - Steps and Issues/Resolutions during R12.1.1 to R12.1.3 Upgration
查看>>
跳过17:30,跳过瑞星定时扫描
查看>>
自动订饭
查看>>
Dos下命令运行带有包名的Java类
查看>>
Tomcat6数据源配置
查看>>
xmove.pl
查看>>
Excel简单五子棋
查看>>