码迷,mamicode.com
首页 > 其他好文 > 详细

Nexus 7 Cyanogenmod OS Compile and errors

时间:2016-05-12 23:33:09      阅读:611      评论:0      收藏:0      [点我收藏+]

标签:

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: Flo build

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 :

flo
snapshot Downloadcm-12.1-20151117-SNAPSHOT-YOG7DAO1K9-flo.zip (246.15 MB)
sha1: 6e016816289b350f5250aa6d317cf4a74a57e4b8
Downloadcm-12.1-20151117-SNAPSHOT-YOG7DAO1K9-flo-recovery.img
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 SunlightEnhancement
Note: 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 devices
adb 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

Install CM for Nexus

Flo device Wiki

Flo device CM OS/Recovery image download page

Build CM12.1 from Source! [NOW-CAT&GRANDMA-FRIENDLY]

How to install a ROM through adb sideload

Nexus 7 serial UART

Nexus 7 Cyanogenmod OS Compile and errors

标签:

原文地址:http://blog.csdn.net/sy373466062/article/details/51345890

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!