I began studying android and became curious what is a ROM. There are many pages that offer to download ROMs but what it is exactly from a developer's point of view is not quite clear.
So what is it?
Thanks!
ROM in this context is a nickname for the operating system software that gets installed into the Read Only Memory (ROM) area of the phone.
Check out this page for a more thorough description.
In the Android world, a ROM is a modified version of the Android OS that can be run on a rooted phone. There are generally 3 types of ROMs: one that emulates an upcoming release of Android, one that adds more features not seen in Android OS, and one that focuses on speed and stability.
You can find more information on Android ROMs here.
ROM is nothing but the Android OS. We use Stock ROM in our device which comes by default by the company we cannot modify the stock ROM but we can modify Custom ROM which gives easy modifications of the OS with various tweks you can fine more information here
Related
I've never made an app before and am looking to get into it. I also need to upgrade my phone because it's really old. I've heard people say that it is best to test your app on stock android. But I really wanted to buy a Huawei, which might be running an older version of android not stock. What extra benefit would I get by spending the extra $500 to buy a Google Pixel phone for testing. Or is it fine, if I go ahead and test my app on a Huawei? What would be the pros and cons?
Android is an open-source operating system, which means companies can modify it to their liking. They do so by adding what’s known as a custom skin or user interface on top of the OS, which changes its look and feel as well as adds new features. These skins include Samsung Experience, HTC Sense, EMUI (Huawei), and OxygenOS (OnePlus), to name a few.
Some skins, like Huawei’s EMUI, change the overall Android experience quite a bit. For example, until EMUI 5.0 came along, owners of Huawei smartphones didn’t have an app drawer. All the apps installed on a device were placed on the home screen, just like on iPhones.
With stock Android, you get none of that — you only get the features developed by Google.
You can see the comparison of "Stock OS" and "Forked OS" here
https://www.androidauthority.com/what-is-stock-android-845627/
https://www.digitaltrends.com/mobile/what-is-stock-android/
With stock android, you get updates a little faster than other OS.
Coming to your scenario, you can even test an Android App without a physical device and by using Android's Emulator(Virtual Device) which has an Android Stock OS. You can select any version of Android(latest to old) and test your app there. If you are looking only for the purpose of testing I would not recommend you to buy PIXEL you can go ahead with your instincts.
People say it is best to test your app on stock android because the functionality you implement in pure android must work in the other OS as it is a layer on top of the stock OS but there are some chances(very few & negligible) that the functionality you implement in other OS might not work in stock OS. You can always use an Emulator for testing.
I am an Android developer. In my 5 years experience, I used both pixel and Oneplus, I did not find any advantages for stock android over Oneplus's Oxygen Os.
I am new to AOSP anybody tell me what is difference between Android & Android Rom
I have found when i am googled but I did not understand the exact difference
Android is the open-source operating system used for smartphones.
Android ROM is the Android operating system. It is composed of a Linux kernel and various add-ons to achieve specific functionality.
As far as I know:
ROM
Literally it stands for Read Only Memory. When people talking about ROM it`s referring to the phone's internal memory. The memory where your firmware/apps are stored. When people say, falshing a new ROM, it means they are flashing a new version of the firmware onto their phone.
Android
In this case they are referring to the OS or to the product of Google.
Brace your self, Obvious link coming:
https://en.wikipedia.org/wiki/Android_(operating_system)
ROM is in fact "Read Only Memory." But for your purposes that has nothing to do with the use case here. Early on with some hardware the operating system was stored on a specific chip, a ROM chip. What you flashed onto that chip is called "the ROM image." It had to be written with special purpose hardware, or it had to be written to in a special boot sequence (like with a DOS bootdisk).
With Android, we distribute images which usually overwrite a file system without formatting it or partitioning it. That's more of a sloppy and crappy install and it's likely to go away at some point in time when someone clever does it the same way a desktop runs. So an "Android ROM" is usually just like a zip archive that gets unzipped to /. That's a bad way to upgrade a computer, but it's how it's done for now. It's also more acceptable to do it in such a bad way because on phones upgrades are done so seldom. You may get an OTA upgrade once a month, or every other month. And, you likely upgrade your phone fewer than 10 times.
I would like to port Firefox OS to my device (that is not supported by Mozilla but it has Android 4.2). I've read from net that some of the drivers haven't been developed yet, but if FFOS uses the kernel from Android, then it can load the drivers from my Android ROM, right?
From this point, my real question is: if I build my FFOS ROM correctly, would I still have some bugs from hardware/drivers?
Thank you!
Leakspin, I'll try to give you some context on whether it's doable, and what has been done yet.
if FFOS uses the kernel from Android, then it can load the drivers from my Android ROM, right?
Yes and No. There is much more than that. As you can see, Firefox is built putting together several pieces, such as Gonk(what you were referring to "android kernel", Gecko (our application runtime), and finally Gaia (user interface). Take a look at the Stack. For more info, please follow the architecture blog post at MDN.
Has it been ported yet to any Android devices?
Yes, but it's not a simple process and there is no guarantee that it will work on all android devices. Here, have a look at the list of devices and which tools you will need to perform such operation.
There is also a porting tutorial you might want to follow.
f I build my FFOS ROM correctly, would I still have some bugs from hardware/drivers?
Unfortunately, very likely that you will do.
I tried my best to style this answer, but the stupid stackoverflow limited the amount of links and images I'm able to post. Sorry for that.
Links:
How to port Firefox OS
Pre-requisites.
Can anybody let me know features of features cyanogen, who develop this.
Is it by hackers?
Check out the official website: http://www.cyanogenmod.com/about for a full list of features.
And the community members at http://wiki.cyanogenmod.com/index.php?title=Community_Members
The lead developer has just recently been employed by Samsung.
"CyanogenMod is a customized, aftermarket firmware distribution for
several Android devices. Based on the Android Open Source
Project, CyanogenMod is designed to increase performance and
reliability over Android-based ROMs released by vendors and carriers. CyanogenMod also offers a variety features & enhancements that are not currently found in these versions of Android"
I am a CyanogenMod user and the great thing about it is that it is constantly improving and evolving. If you look at their github repo https://github.com/cyanogenmod you'll see that they support tons of phones and have just as many features.
Lots of people contribute to it and thats what makes it great.
I suggest taking a look at their website and accompanying forums if you're interested.
The ROM is developed by different developers. Anyone who has has a knowledge of coding can develop a ROM, but in Cyanogen the developers have good knowledge in coding. So in Cyanogen they try to improve the performace, themes, battery perfomance, Ram management, updates and everything better than your Stock Rom. One more feature in Cyanogen is it it rooted inbuilt. So you don;t have to root your device. JUst flashing the ROM is necessary. CM Theme engine is the best feature.
CM ROM build by an Organisation and open source can be found here. & could be more source to get it. They worked on vanilla build got form Google and worked better then what Google engineer did. Huge improvement in performance and theme.
But with latest version of Android OS 7.0 naugat it gonna be different game now. Let's see what CM will bring up.
I've recently purchased Samsung Galaxy Android phone after using Openmoko phone for 2 years.
One of the reasons for choosing Android was is that it's open sourced.
I don't want to depend on phone maker to provide updates for my phone. I'd like to do it myself.
Right now I'm in research stage if it's worth the time or not. So here are the questions:
I found some tutorials for building ROM images from source. They tell that Android build script will ask for make of the phone before building kernel. Does it mean that all the phone specific stuff is handled by the script or I will have to do some voodoo before I can flash it onto my phone?
Drivers. How are they handled? Are they included in the source as binaries and added automatically (question 1) or will I have to dissect old firmware to get them and put in my build? I realize that would mean some problems with module/kernel versions compatibility.
Is there is something I'm not aware of that would prevent me from building my custom firmware or make it very time-consuming?
I'm not afraid of installing SDK's and toolchains, after all I'm an Openmoko owner.
It's gonna be a little more complicated than that.
On any consumer Android phones I've seen, the user doesn't have root access to the OS. So step one, would be finding an exploit to get root.
Even after you get root, all consumer Android phones "lock" the bootloader to prevent unauthorized OS images from being booted.
The Android OpenSource project only contains device drivers for a small number of phones (Google dev phones, possibly the Nexus One?). For other phones, the drivers are proprietary binaries that the manufacturer loads on the phone. They generally aren't available separately.
Even with all of those obstacles, some enterprising smart guys have managed to create custom "ROM's" that blend the OpenSource release with drivers ripped OEM install on the phone, etc. CyanogenMod is one of the best known and is available for several different Android devices, but unfortunately the Samsung Galaxy does not currently appear to be one of the device supported by Cyanogen.
I found an old link here to a guide to getting root on the Galaxy and loading a custom ROM on it, but unfortunately the ROM they link to doesn't seem to be actively maintained anymore. It might be worth doing some more exhaustive google searches to see if you can find anyone doing active development on the Galaxy.