I am new in android rom development, but I am very experienced in object-oriented languages, especially Java, so I thought I can check it out. I have a Nexus 5. I have followed AOSP guide (I've synchronised whole android repo). I want to build Android 8.1.0 for my Nexus 5, but I need drivers, right? On google driver binaries there ARE Nexus 5 drivers, but only for android 6.0.1 and below.
My question is: Can I use these drivers (for 6.0.1) with android 8.1.0? If not, How much changes will i need to make?
If you know any good tutorial for porting device drivers, please include the link.
Thanks for every answer, tip or advice
EDIT: Oreo is on project treble, right? So if I contact the guy who made 8.0.0 rom for Nexus 5 and get the drivers from him, can I use them with 8.1.0?
Related
Porting Android - Did I thinking that this modifying custom ROM from one device such as CyanogenMod for the Nexus 5 and move it to another completely different device? I have an idea for the Nokia N9 developing ended with android 4.1, I would like to create a ROM, for example, 4.4 (higher than 4.1) for Nokia N9 as KitKat has a lot of optimization and was run even on slower devices. Could someone explain how to do or advise what to do, or give a link to the guide. Linux commands aren't unknown to me. I'm new on xda.
Hi. I am having xiaomi redmi note 3(kenzo). I know a bit of java and c languages. I want to build android rom from scratch for kenzo. Not from the cyanogenmod, but from the google's source code. I need help finding proprietary binaries and tools required. I have installed ubuntu on vmware workstation 12 and done everything stated in "Downloading Source" section of source.android.com page. I need help in finding proprietary binaries and a little bit of assistance in making the rom bootable. I am no way building the rom from cyanogenmod sources, because i know i will end up building a nightlie of cm at max. please help. Thank you.
Hello!
I have been following annual Google I/O 2017 and heard about all the benefits of Google's Project Treble.
I cannot help but wonder how are developers (for example here at XDA) able to create custom roms or unofficial Android updates. Why Google can't make official Android Nougat update for Nexus 7 2013, but you here at XDA can. What is different between your work and Google's when it comes to these things, as far as neither has access to hardware manufacturer's code support.
I have to say I am not a professional software developer, so I understand if this topic is beyond my comprehension.
Thank you!
"Why Google can't make official Android Nougat update for Nexus 7 2013"
Planned obsolescence.
"neither has access to hardware manufacturer's code support"
Google is obliged to release kernel source code because Linux(the kernel powering Android) is released under the GPL. The kernel is responsible for letting Android "talk" to the hardware. Developers at XDA can then modify the open-source kernel to "fit" newer versions of Android.
I'd like to chime in on this.
Let's use the Nexus 7 2013 as an example. The difference between what an official build of Nougat from Google would be and what a build of Nougat from XDA is that the Google released one will have updated devices drivers that are made specifically for Nougat, while the XDA released one simply uses the older device drivers and hope they work. In some cases they work flawlessly (mostly on Nexus devices), however other times there are things that don't work so they either need to be disabled or worked around. So essentially a Google released OS has everything updated and tested to work with the new OS, while XDA releases are more 'hacked' together to work (simply because the device drivers aren't Open Source). Google may not have access to the hardware drivers, but they still get them updated.
Now let's touch on Project Treble (and why I am so excited about it). Instead of each and every device driver needing to be upgraded and tested for each new OS version, the OS version will specify which version of the drivers (HAL's) will work with the OS. This means there will be a separate space where all the device drivers will reside, and the OS will simply load those when booting (no more proprietary binary blobs to include in the ROM! hopefully...).
This means on any Project Treble compatible device (all phones that ship with Oreo, and some that update to Oreo) with an unlocked bootloader, a user can simply compile AOSP and flash it directly to the device with no modifications and have the device work. I believe this is actually a requirement to pass Google's certification process for new devices with Oreo. That means, say, with the LG v30 if the bootloader is unlocked, there can be an AOSP ROM on day one of its release.
So instead of Android being strictly a per device compile, it is just a general compile (sans device specific features). However, this doesn't remove the old driver issue. If the drivers in their respective partition no longer are updated by the manufacturer, the later AOSP code will need to be modified to work around these (and accept them). This is still easier in my opinion than the binary blobs.
As for official updates, Project Treble allows device hardware manufacturers to work on updating the device drivers while the OS Dev (Samsung, etc) works on updating their OS. So it is a parallel development instead of a serial one (hardware AND os instead of hardware THEN os).
A question.
Do the Nexus 5X devices have the Treble system or project incorporated with Oreo?
I do not understand the other manufacturers that cheaper excuses are giving, it is true that they are not obliged but I think it would be good practice, maybe they think as before that you will not buy them a phone.
Does someone make a Change.org or similar campaign to ask all Android manufacturers to make a minimum effort?
So, I'm building my very first LineageOS 15.1 ROM with the files I got from Stock Android 7.1.1. I don't have a phone to test it yet, so I decided to collect some info to improve it.
My device has a chipset MSM8937. The latest Android version was 7.1.1 by the time I started to mess with the Lineage, now they released 8.1 for the device.
1- If I want to build LOS16.0, am I supposed to replace the proprietary files with a device with LineageOS 16 and same chipset's proprietary files?
2- What kind of changes I have to make when using files of a lower Android version to make a higher Android version?
Thanks in advance. :fingers-crossed:
Since Android is open source, I decided to learn code and make my own ROM as a fun project. I found a guide on Android Authority on this topic. But they said I need a nexus device to flash my rom to test. I have a spare Samsung device. Is it possible to use this device for testing?
0
Seppppx said:
You don't gave to had a nexus device. The guide is pretty old. Googles first Pixel phone was launched 10 days before the video, so they still recommended a nexus.
Google nexuses had a device tree made for them and all the tools needed to build Android for it were available. Google Pixels do the same developments wise.
I don't know if you want to learn how to build a ROM like AOSP or LineageOS or you want to make your own custom ROM.
But you can find a tutorial on a YouTube channel called AlaskaLinuxUser. I would with his "where do I start" video. He explains a lot about what you should learn first.
The Android authority guide is extremely oversimplified.
Click to expand...
Click to collapse
Thanks
You can use ANY device to test a rom, granted you have the device/kernel/vendor trees. Start off by building something like lineage, and then modifying stuff in the lineage source to make your own custom rom. The guide on androidauthority is way too simplified and only goes into the basics. Learn cherry-picking features using git