• If you are experiencing issues logging in, we moved to a new and more secure software and older account passwords were not able to be migrated. We recommend trying to reset your password, then contacting us if there are issues.
  • Nearly done! Migration cleanup is mostly done. There are a small number of issues left that we continue to work on, but all the heavy lifting is done. We still would love to hear feedback over at this thread and also check out the new XDA app! Thanks and we hope you enjoy the new forums, and thanks for your support of XDA <3

[JDCTeam][7.1.2][02 October][Substratum][EAS] The Android Open Source Project NJH47F

-+BB+-

Inactive Recognized Developer
Nov 28, 2013
241
2,448
0


The Android Open Source Project Nougat
Brought to you by Jflte DevConnection Team


Code:
#include <std_disclaimer.h>

/*
 * Your warranty is now void.
 *
 * We're not responsible for bricked devices, dead SD cards,
 * thermonuclear war, or you getting fired because the alarm app failed. Please
 * do some research if you have any concerns about features included in this ROM
 * before flashing it! YOU are choosing to make these modifications, and if
 * you point the finger at us for messing up your device, we will laugh at you.
 *
 */

What is AOSP?
AOSP is Android as Google publish without other modifications. More or less AOSP is the Nexus devices stock rom without gapps. Anyway to get a working system we ported some changes from Cyanogenmod/LineageOS and CodeAurora repos.
Please do not ask for features to be added because we're not going to add more to keep this ROM small, fast and pure.


JDCTeam
In alphabetical order:


Screenshots:



Youtube review (Thanks to @GalaxyS4_Lollipop)

Known issues
  • You will tell us


Download
ROM builds are hosted on RomHut


Installation

Important note's before installation:

  • This rom is based on N firmware blobs. Coming from M, flashing a N based firmware is * REQUIRED *, otherwise installation will fail or anyway will not work correctly! Download and install the latest custom package you can find HERE, that contain only the firmware (flash in TWRP recovery, at your own risk). This firmware update is needed once, not on every rom update!.
  • In case of use of F2FS file system, please upgrade to latest TWRP based on Android N code (TWRP v3.1.1-x). This will avoid problems to apply SuperSU root during the flash.

First time or clean install:
  1. Download the ROM from the link above
  2. Download GApps package for Nougat 7.1.x
  3. [OPTIONAL] Download ThemeReady GApps package for N (arm64)
  4. Put the zip files on your SDCard
  5. Reboot in Recovery
  6. Wipe Data / Factory Reset
  7. Optional: convert to F2FS
  8. Select "Install zip from SDCard"
  9. Choose AOSP ROM zip file
  10. Choose GApps zip file
  11. Choose TBO GApps zip file (needed for complete theming of some Gapps with OMS overlays)
  12. Flash
  13. Reboot system


Update over an existing previous AOSP N build:


Via OTA Updates:
  1. Open OTA Updates app (for details, check on post#3)
  2. Download the update
  3. Press "Install"
Your device will automatically reboot and install the update.

Manual update with TWRP:
  1. Download updated build from the link above
  2. Put the zip files on your SDCard
  3. Reboot in TWRP Recovery
  4. Select "Install zip from SDCard"
  5. Choose AOSP ROM zip file
  6. Flash
  7. Reboot system

    NOTE: the "dirty" flash to update an existing version DO NOT NEED any new re-flash of Gapps and TBO... integrated BackupTool during rom install will backup your gapps (already installed) and restore them after rom update!

NOTE: This version is dex-preoptimized, so do not wipe cache and Dalvik after rom flash!

General notes

  • Rom is pre-rooted and has Magisk v13.0 beta integrated
  • Theming: rom has from this build the new SUBSTRATUM THEME ENGINE. Use the integrated Substratum app to apply OMS overlays (OverlaysManagerService). Latest Substratum is rootless!


Sources
GitHub


Social
Google+: JDCTeam Community
YouTube: JDCTeam TV


Credits
  • JDCTeam
  • LinageOS
  • Google
  • MI5Devs
  • TeamSubstratum
  • PureNexus
  • RenderBroken

Special thanks:

Daily ongoing changelog:

Check HERE to see the ongoing changes on development!


XDA:DevDB Information
AOSP 7.1.2 for Xiaomi Mi5, ROM for the Xiaomi Mi 5

Contributors
-+BB+-, smeroni68
Source Code: https://github.com/AOSP-JF-MM

ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.x
ROM Firmware Required: Latest Xiaomi MI5 firmware (N)
Based On: AOSP

Version Information
Status: Stable
Current Stable Version: Stable 10
Stable Release Date: 2017-10-02

Created 2016-11-26
Last Updated 2017-10-17
 
Last edited:

-+BB+-

Inactive Recognized Developer
Nov 28, 2013
241
2,448
0
General Info & Changelogs

Reporting issues

Please report issues in our issue tracker: https://github.com/AOSP-JF-MM/issue_tracking_aosp/issues

Things like "this doesn't work", "this keeps FCing", "found a bug: *someapp* FC" etc. don't help. We need logs!!!!!!

Do not report bugs if you:
  • Flashed a different kernel
  • Installed or did mods from untrusted sources
  • Installed Xposed
  • Modified system files

Changelog

20170312 - Stable 2
MD5 - 296c92872b04d43d60ad9a9814c738ae
  • Kernel
    • Rebased from LA.UM.5.5.r1-02500-8x96.0 revision
    • Fixed f2fs issues with SuperSU
    • Fixed QC3
  • ROM
    • Update sources to Android 7.1.1 release 26
    • JFLTE: exfat: use kernel driver
    • SuperSU: update to v2.79 SR3
    • Substratum: update to v604
    • JFLTE: update webview to v57.0.2987.54 Beta
    • Updated ROM TC with latest Linaro patches
    • APNs updates
    • Rebased all repos with latest CAF N-MR1 branches
    • Base: added One-Hand mode UI (compatible with HW buttons)
    • Settings: add HW buttons light controls
    • Fixed a weird random bug that sometimes keep HW buttons light on when the screen is off (and kill deep sleep)
    • JFLTE: fixed camera
    • JFLTE: fixed reboot
    • Settings: fixed USB Tethering
    • OMS/Substratum: move to rootless
    • OMS: Expose more colors
    • JFLTE: Bluetooth: disable absolute volume
    • HW buttons customisations: added more functions (split screen and one hand UI)
    • Settings: Developer Options: OMS: add an option for allow theme app from unknown sources
    • Settings: Developer Options: added an option for kill app with long-press of back button
    • Cleaned tons of unused/unwanted CAF changes
    • Gemini: added "swap buttons" function
    • Gemini: added "use fingerprint as home button" feature
    • Gemini: update graphics blobs from revision LA.UM.5.5.r1-02500-8x96.0
    • msm8996: audio/media/display: rebased from CAF revision LA.UM.5.5.r1-02500-8x96.0
    • Gemini: Camera: enable HAL3 (fixes video recording issues and Google Camera)
    • JFLTE: update graphics blobs from flo mob30x
    • Toolbox: fixed for systemless root
    • A lot of things that i don't remember


20161212 - Stable 1
MD5 - edef295316ea6d8130e120f8c0c48f4f
  • Kernel
    • General code updates
    • Disabled Cpusets
  • ROM
    • Fixed a NPE in setup wizard
    • Settings: Enable storage manager like Pixel devices
    • base: tuner: enable navbar config + added more icons
    • webview_packages: prefer the more powerful webview package installed
    • Gemini: build power HAL
    • Gemini: fixed dt2w feature
    • jflte: move to common consumer IR HAL
    • Add lg G5 (h850) to buildable devices
    • OMS: expose some hardcoded colors
    • Updated translations
    • Settings: drop JDCSettings and move all our custom features into settings
    • SystemUI: Enable three icon switching within QS DND tile
    • Status bar: added HSPA+ icons
    • Pixel Theme Framework Edits
    • Fixed reboot in recovery dialog title
    • Added screen record shortcut (Vol+ and power button)
    • Settings: fingerpint: allow devices to configure sensor location
    • Settings: expose PhoneInfo
    • OTAUpdates: updated and fixed for N
    • Gemini: fixed video recording
    • OMS: merged all latest changes from TeamSubstratum
    • Gemini: fixed data/wifi switch issue
    • Gemini: disable Cpusets
    • Gemini: general blobs and conf updates from stock N
    • frameworks/base: port some UPSTREAM fixes
    • General APNs updates
    • Sepolicy: general updates from CAF
    • Gemini/jflte: remove no more needed Overlays
    • Jflte: liblights/consumerir: drop device level HAL and move to common HAL
    • Update sources to Android 7.1.1 release 4
    • Gemini: fix H+ icon (Workaround)
    • Camera2: allow to use power button as shutter
    • vendor/aosp: overlays: fixes + updates
    • Settings: enable gesture manager
    • frameworks/base: fixed GApps perms

20161126 - Beta2
MD5 - 14a27ef7bca101f3cab36e40e7f3271d
  • Kernel
    • General code updates and fixed boot on N
  • ROM
    • JDCSettings: added custom hw key rebindings feature
    • JDCSettings: added long press volume button skip tracks feature
    • Fixed device storage menu when using Adopted Storage
    • Fixed an NPE when ejecting the portable storage
    • Don't dex preopt prebuilt APKs
    • Gemini: update blobs from Oneplus 3 repo
    • Gemini: more fixes/updates for N
    • Gemini: move to QCOM shared graphics driver repository
    • jflte: bluetooth: fixed a crash caused by alarmtimer --> NOTE: this will break BT on stock kernel
    • jflte: update Widevine libraries
    • jflte: move to common graphics blobs repo
    • Update APNs
    • GCC: move to Linaro 4.9 Toolchains
    • Updated translations
    • Gemini: fixed perf issues when battery level is under 5%
    • JDCSettings: Added power menu customisations
    • Added ScreenRecord feature --> available in power menu
    • jflte: enable sdcardfs
    • jflte: VZW: fixed mobile data reconnection and IMSI issues, hopefully fixed for Sprint variant too
    • SuperSU: update to v2.78 SR4
    • Substratum: update to v490
    • WIP: added Expanded Desktop feature
    • Airplane mode toggle: small fixes/enhancements
    • frameworks/base: removed unused videos/drawables/media tests
    • Don't refresh ui when screen off
    • jflte: init.qcom.rc: update ril-service daemon


Tips & Tricks
To be done after this ROM is installed. You decide what to do :)
  • To enable Developer options go in Settings>About phone and press "Build number" for 7 consecutive times.
  • Go to Setting>Wifi and then turn the Wifi On and Press the Option key and go to Advanced and Turn off Network notification.
  • Go Setting>More then Turn off NFC
  • Go to Setting>More>Cellular Networks and if you don't use mobile data, then you can choose 2G for Preferred network Type.
  • If you don't need Auto Brightness for Screen, Go to Setting>Display & Turn off Adaptive brightness.
  • Go to Setting>Display>Power Menu and put tick in Screenshot & Sound Panel.
  • If you don't use Ambient Display, Go to Setting>Gestures & Turn off ambient Display.
  • If you don't need hardware Key Backlight,Go to Setting>Display>HW buttons and Choose Backlight and Untick Illuminate buttons.
  • Go to Setting>Sound & Notification>Other sounds and turn off all of them...
  • Go to Setting>Supersu and Press No Thanks, then go to Setting Tab and Untick Re-authentication and choose Default Access then select Grant and Untick Show Notifications.
  • Go to Setting>About Device and press the Build Number for multiple times until Developer Options unlocked.
  • Go to Setting>System UI Tuner and turn on Show embedded battery percentage.
  • In Setting>System UI Tuner>Quick Settings, You can customize your favorite quick settings.


Using F2FS
What it is? Wikipedia

To use it you should first convert your EXT4 partitions through recovery, before installing this ROM.

  1. Download and install latest TWRP version: https://twrp.me/devices/xiaomimi5.html
  2. Wipe->advanced wipe
  3. Select data->change or repair file system->f2fs (Warning: internal storage is formatted, make a backup of your personal data before doing this!)
  4. Select cache->change or repair file system->f2fs

No need to convert /system as it is basically read-only, therefore better to keep it as ext4.

Now you can install this ROM following installation steps in post above
 
Last edited:

smeroni68

Recognized Contributor
Jan 23, 2011
4,456
11,022
113
Milano
OTAUpdates description.

OTAUpdates!!

From Stable 1 release, we re-introduced the OTAUpdates function (FULL OTA, not incremental). The app has self-check function to check on romhut the availability of a new version. Here some screens to show how it works (Manual check):



After download is completed, you can reboot directly to recovery to update the current installation... or in case of manual install, you will find the zip of the rom on internal sdcard under OTAUpdates folder.
 
Last edited:

qtoo941

Senior Member
Jun 27, 2013
681
180
0
Sofia
Good job, guys. I remember smeroni's work back in the days when I was proud owner of Samsung Galaxy S Plus (I9001) and my daily driver back in the day was exactly ROM from DevConnection. Keep going!
 
  • Like
Reactions: smeroni68

Jgruar

Senior Member
Aug 1, 2010
156
8
0
Thank you for development, much appreciated!

I need to report one thing, if my cache, system and data were f2fs filesystem the rom would not install correctly. The boot image patcher failed with error "extracting ramdisk -- failure, aborting". After that, the Gapps zip would not flash, saying I had wrong version of androind (6.0.1).

After formatting my filesystem back to ext4 it worked.

edit: Also, a feature request. On stock Mi5 the back and recents buttons are reversed. So, with a right hand user the back button is closer to your thumb and it's the one you use most often. Can this be swapped in settings? Additionally, can the home button be made touch-sensitive? So you would not need to actually push it to go home.
 
Last edited:
  • Like
Reactions: iXanza

smeroni68

Recognized Contributor
Jan 23, 2011
4,456
11,022
113
Milano
Thank you for development, much appreciated!

I need to report one thing, if my cache, system and data were f2fs filesystem the rom would not install correctly. The boot image patcher failed with error "extracting ramdisk -- failure, aborting". After that, the Gapps zip would not flash, saying I had wrong version of androind (6.0.1).

After formatting my filesystem back to ext4 it worked.

edit: Also, a feature request. On stock Mi5 the back and recents buttons are reversed. So, with a right hand user the back button is closer to your thumb and it's the one you use most often. Can this be swapped in settings? Additionally, can the home button be made touch-sensitive? So you would not need to actually push it to go home.
I use an app to switch buttons and for full customization of them.
Home button is an hw button... how can we convert it to a touch? Miracles with sw sometime are not possible!


Xiaomi Mi5 Pro on AOSP 7.1.0 (JDC)
 
  • Like
Reactions: smstiv

SN22

Senior Member
Sep 11, 2014
79
18
0
Will download :)
Which partition i need to convert to f2fs? (data, cache, system)
If i want to enjoy the benefits of f2fs and the phone to boot properly? (i know system is usually the issue)

Sent from my MI 5 using Tapatalk
 

smeroni68

Recognized Contributor
Jan 23, 2011
4,456
11,022
113
Milano
@smeroni68 The home button can act as a capacitive button on MIUI. I assume this is what the poster was referring to.
I suppose that is not the hw home button itself... but the fingerprint sensor under it. Anyway, as reported in OP, in general we are not here to add too much features. We will think about, but no promises.

Xiaomi Mi5 Pro on AOSP 7.1.0 (JDC)
 
  • Like
Reactions: smstiv and andy356

vcx77

Senior Member
Aug 21, 2015
246
158
0
Zamora,Spain
My congratulations to the great team that made this fantastic rom

JDCTeam In alphabetical order:

Diego Mónaco - @ alucard_24
Dimitris Katikaridis - @ lateral
Franck Rohee - @ franzyroy
Ray Daley - @ artilugio!
Jim Silverlock - @ Jimsilver73
José Adolfo Galdámez - @ josegalre
Marco Zanin - @ - + BB + -
Matthew Booth - @ MattBooth
Mattia D'Alleva - @ AntaresOne
Mike Atkins - @ FernBch
Oliver - @ angelcalibur
Paul Harris - @ hawkerpaul
Paul Keith - @ javelinanddart
Simeón Ivanov - @ smstiv
Stefano Meroni - @ smeroni68
Yannis - @ SKL

thanks from spain
 
Last edited:
  • Like
Reactions: smeroni68