Developer workflow? - Motorola Photon 4G

Hi there! I was curious as to the ROM developer workflow. I'm somewhat familiar with building AOSP for x86 VMs and have done some skinning and manipulating system apk's ... but I have some other questions:
1. What distinguishes a ROM package from other zip installers, I guess since it is *nix, everything's a file and most ZIPs then just have the files changed?
2. Jokersax makes mention of doing all development on the device itself... What this workflow, just doing a lot of nandroid backups then, or just replacing things on the fly and hoping for the best?
3. What options exist for adapting system level native code, perhaps I guess I'm asking if, for instance, the camera works with Blur stock SBFs, how could one go disassembling the functionality and deriving CM9 compatible packages? Are the drivers that tightly coupled with the UI elements? That would seem impossible to maintain, and say what you want about Motorola, I couldn't imagine this to be the case.
Thanks -ap
Sent from my MB855 using xda app-developers app

antipasto said:
Hi there! I was curious as to the ROM developer workflow. I'm somewhat familiar with building AOSP for x86 VMs and have done some skinning and manipulating system apk's ... but I have some other questions:
1. What distinguishes a ROM package from other zip installers, I guess since it is *nix, everything's a file and most ZIPs then just have the files changed?
2. Jokersax makes mention of doing all development on the device itself... What this workflow, just doing a lot of nandroid backups then, or just replacing things on the fly and hoping for the best?
3. What options exist for adapting system level native code, perhaps I guess I'm asking if, for instance, the camera works with Blur stock SBFs, how could one go disassembling the functionality and deriving CM9 compatible packages? Are the drivers that tightly coupled with the UI elements? That would seem impossible to maintain, and say what you want about Motorola, I couldn't imagine this to be the case.
Thanks -ap
Sent from my MB855 using xda app-developers app
Click to expand...
Click to collapse
1) You are pretty much correct....and rom can be turned into a simple one file zip or vice versa
2) He actually uses the device along with a build machine. You can do some simple stuff on the device itself, but if you're going to get into decompiling jars or apks, you will need a bot or a PC.
3) Apktool (Linux/Windows) or Android Suite (Windows) will allow you to break down the apks like you are describing. I'm sure you can make a blur apk work with CM9 (obviously app developers on the Play market do manage to make both). I'm not very familiar with Blur/CM7, as I started work on ROMs after ICS had hit, and I really didn't see much real desire to do something that wasn't forward from where my phone was.
Mainly, you can do source work, which you are most likely familiar with the process of.
I do "port" work...taking the framework, apps and some other necessary functionality-related parts and making a new rom for my device with it.
If you are interested in the process, by all means get in touch with me via PM. We are in need of some people to help with a void that has been left by our team member Spleef taking on a second job.

Thank you so much for the extensive reply. I have about a kabillion personal projects, it would be perhaps interesting to ruminate some on the metadevelopment as it were, I do notice that the Cyanogen project seems to have a lot more ability to automate their workflows, it would be cool to try and get more people into those kinds of logistics to help out... Anyway, I'm trying to remain productive, I'm a long time lurker, and I can't bring myself to post unnecessarily to even get to the 10 posts I need to provide feedback in the development forums, but I'll try
I've been really inspired with the Clojure / Java community, especially "Leiningen" and things like Jenkins for continuous integration. Could be cool to try and think at this level, perhaps like a chrooted VM or something that enthusiasts could run to assist in build CPU times, or hell I dunno, this kind of thinking is all pie in the sky and is hell to set up possibly for little gain, although I'm encouraged that Bittorrent is being used a little more here and there perhaps to offload some of the hosting costs. FWIW I have used S3 in my own projects, and for various static sites I have, I've been hard pressed to pass 30 cents a month in hosting costs on S3, but this is all low traffic stuff and there's a lot of options out there with various kinds of advantages and disadvantages.
All in all, thank you all for your continued efforts, especially going into the later part of this year when JB will mature, and the possibility of ICS drivers being integrated. You guys rock!

Related

[Q] Total Android Newb, where to go for basics?

[rooted NT using Albert's 4.5] old school IT guy, just don't know android
This site doesn't seem to be very welcoming of basic questions so I would like to find a place I can get up to speed. I'm reading and searching but most of the answers include elements that are over my head so I don't end up making much progress. I've also tried the basic Google searches for "android for dummies", "android basics", etc. Part of it is that I haven't used a smart-phone, iPad, or other similar device so a lot of the really basic stuff isn't 2nd nature to me.
Where can I go to get a basic understanding of setting up, configuring, and using android efficiently.
Things I would like to understand:
When ICS (CM9?) becomes available on NT, if I am running CM7 and do an upgrade will all the look/feel & organizing configuring be gone and need to be redone with the new OS (does this happen each time you do an OS upgrade)?
Configuring the launcher(s) to get better look, more efficient use. I have read the honeycomb & homescreen configuration threads but am unclear as to whether those options are available with a rooted NT or only if you have installed CM7.
Just basic efficient navigation. If I am bouncing back & forth between apps (like Dolphin & installing/configuring an app) I currently end up using the "N" key to go back to the launcher and "reopening" each of the apps. Don't know if there is a more efficient way to bounce between open app instances.
A sincere thank you for ANY help. And sure if you would rather ridicule me for my lack of knowledge or point out that there is a search button I can certainly handle that too.
Honestly, just play with it and explore. You're not going to break anything. In the unlikely event that you do simply reformat your device.
Sent from my Nook Tablet using xda premium
http://forum.xda-developers.com/showthread.php?t=1415812
Hi! Since i assume you are well aware of conputer operating systems
Android is a derivative of the Linux kernel which powers Ubuntu, Red Hat, Gentoo etc. Linux is based off of Unix as are other OS like Mac OS X. These Kernels use unix commands to carry out tasks underneath the X server interface (desktop). Android has a similar setup and you can issue commands from a terminal either on the tablet itself or in windows to install, remove and execute scripts and programs. ADB is the android equivelent of a com2 port if you will and that is how the NT and
Kindke Fire where originally rooted. You can use Indirects Adb script to root your tablet and even install Google apps. I know you already have one of Alberts cards but if you want to learn up on Android you should study up on ADB.
The version of Android that comes with the NT is fine if you just want
to consume books and media. This is Gingerbread 2.3 that
was developed specifically for the NT. Since Google requires manufacturers
to meet certain requirements to license the proprietary parts of
their software and apps and Barnes and Noble decided to forgo licensing
they could not include Google Apps on their tablet. This is why although GApps can be forced to run, there are still problems.
Cm7 is a heavily modified version of Android Gingerbread. It has the code in its
kernel 2.3 to run the Gapps without problems and allow full
Access to the market. Some of the "new" ICS roms that are
being built and distributed are actually based on Cm7 and the new
Code is being backported to work on the old kernel. This means whenever
A new feature is introduced to ICS, it has to be rewritten
to work on an old kernel. There is work being done to build
a working 3.x kernel which is what ICS will be based on.
I personally will wait and hope that development is completed
before i use ICS.
The launcher is what draws all the icons and gets you around. I personally like go launcher, others like ADW (cm7 default). Zeem launcher is lightweight and basic.
Just try a couple and use home switcher from marketplace to switch between then
Until you find the one tgat strikes balance between feautures and speed. Hope this helps you get started.
Thanks much for the help so far. I do appreciate it.
I have spent some time with the FAQ/Newb thread but will spend more time on it.
Check out the XDA wiki, or the CyanogenMOD wiki for the best vanilla-android questions. Things like how to set up the android SDK, downloading drivers, etc.. Anything from beginner to advanced should be found in one of those 2 places.
The search function here is sufficient. You just need to know what you are searching for. Basically typing in "android for newbs" is gonna return probably every post with the word android in it. Good luck finding anything in that mess. You need to be fairly specific.
A lot of people here are more than willing to help, so long as you post in the correct areas and at least try to search for an answer to your question.
Just spend a lot of time searching through XDA and using google searches. There is a TON of information out there, I know it seems a bit overwhelming at first, at least it did for me when I got my first Android phone. As long as you are willing to put into the time to research and use trial and error, you will be fine I would start with reading how to root the device that you currently have, from there learn how to install CMW and then worry about CM7 and other ROMs. As you are learning these things I believe a lot will fall into place.

Cornerstone for CM10 in progress, could use some help

I'm working on a JellyBean port of Cornerstone. It is currently building with CM10, but does not work very well at all. I'm not sure if this has to do with the resolution of my tablet, 1900x1200 TF700T, which I tried to account for, but may have screwed up. I could use some help on this, as I have very little time and not much experience with building Android from source. Specifically, any advice on toolchains/testing code without needing to do an entire build would be appreciated. What would be more appreciated is if I could get some help with the project itself to get it to a stable place, and perhaps to include a path for continuous updates with as new releases come out.
https://github.com/emil10001/cornerstone
My current build environment is an Ubuntu VM, just using the commandline. I write the code and try a build. It usually fails and I go in and fix the errors that it gives me. This process means that I spend about 1-10 minutes coding and 2 hours waiting for it to build and fail. At present, it's actually building just fine, but it isn't working very well.
I really like the idea of Cornerstone and would like to see it working on newer builds. I am also reaching out to the Cornerstone Google Group, but they have been fairly silent for months. https://groups.google.com/forum/?fromgroups=#!topic/cornerstone-dev/Gz345pbd-co
Thanks,
John
I did talk with them a while back and the did say they're working on updating the codebase to support jellybean.
I had a quick glance at your fork.
This way its really hard to test, you could better just fork frameworks/base from android and then modify the files instead of the copying the changed files.
That would make it easier to test, view what changed, etc.
You could also use gerrit.
mmm path/to/it will do a quick rebuild.
I've had the apps up on github.com/sgt7 but they haven't been updated since way too long, will update them when I find some time.
Sent from my GT-P1000
...
Thanks for the tips!
The reason that I am keeping them separate is mainly for sanity, I wanted to try to keep the cornerstone stuff outside the main android code so that I can keep the android codebase relatively up-to-date, and also very obvious about what's a part of cornerstone for anyone that wants to grab the source from me. I'm also wondering if it's possible to pull part of this, say frameworks/base, into Eclipse (without it taking a day and a half to build the workspace).
Also, with gerrit, I wanted to keep this separate from the CyanogenMod stuff, mainly due to the comments that Dianne Hackborn made on G+ to Steve Kondik. I have a feeling that that's what killed the project.
I'd also really like to see how this works on a 1200x800 device, since that's what Cornerstone was originally designed for. I'm thinking that I screwed up the data in the xml resources, and that that's a big reason as to why it looks so funky on my device.
emil10001 said:
Thanks for the tips!
The reason that I am keeping them separate is mainly for sanity, I wanted to try to keep the cornerstone stuff outside the main android code so that I can keep the android codebase relatively up-to-date, and also very obvious about what's a part of cornerstone for anyone that wants to grab the source from me. I'm also wondering if it's possible to pull part of this, say frameworks/base, into Eclipse (without it taking a day and a half to build the workspace).
Also, with gerrit, I wanted to keep this separate from the CyanogenMod stuff, mainly due to the comments that Dianne Hackborn made on G+ to Steve Kondik. I have a feeling that that's what killed the project.
I'd also really like to see how this works on a 1200x800 device, since that's what Cornerstone was originally designed for. I'm thinking that I screwed up the data in the xml resources, and that that's a big reason as to why it looks so funky on my device.
Click to expand...
Click to collapse
Just checkout a new branch with the modified code, that's what version control is for.
Also, i believe it should be fine now if there is some sort of a whitelist implementation, and only few apps are supported by it. (*le Samsung Mutli Window)
cdesai said:
Just checkout a new branch with the modified code, that's what version control is for.
Also, i believe it should be fine now if there is some sort of a whitelist implementation, and only few apps are supported by it. (*le Samsung Mutli Window)
Click to expand...
Click to collapse
What happens when you try to use an unsupported app anyway? I have Note 2 with the multiview hack and every app I've tried with it has worked, though I've never tried anything like say Angrybirds, just google voice and Trillian and stuff like that.
Is this still something that you are trying to work on? GOD I would love cornerstone on my tf700!!!
Need some help testing/coding ect? I would love to help, not an advanced dev but working on my android chops daily.
I am available to help with testing.
Am a rom developer.

[Q] Best way of Co-operation and Modification of Android

Hi!
Some guys and me are working on Android now for long time. Most times we had clear different parts we where working on, so two guys working on kernels, one on adaption of Android, one was testing and keeping contact to the community.
Now, cloning a kernel and merging some changes on drivers is a simple thing. And even changing a file on android, putting it into a git or simply on an ftp is easy too...
Well, now things have changed. Android is getting more complex and kernel work is mostly done.So we do more and more work in Android with more and more people.
Ok, one would say, take a plain android by using repo sync. Add your vendor parts for kernel and android and add them as a separate git. Ready you are...
Unfortunately that may work if you build your own device, based on plain naked android and a well supported mainlined kernel... But reality is different and chinese reality is even different^2. Hacking andoid devices where you do not have access to the OEM gits, kernels, not even datasheets or schematics is a hell of work... and all of these OEMs just checked out the complete android, put it in their own git and modified 1000 parts 'n pieces of it.
This isn't only a problem of bandwidth to upload such a monster, but all your friends supporting you have to clone that monster again. And after a while a new android version comes and you have great mess:
You cannot find differences from your old version to the new google version as many files have been changed by the OEM.
But you cant just "repo upload" cause google or CM might not be very eager to get dumb chinese deep down below android changes in their repos.
How do you team up with others and sync your android changes? Is there a good tutorial that handles not only the way it should be, but covers all these real-life issues?
I'd really appreciate your tips
Astralix

[Q] Is there a "Noogle" ROM project?

Tonight i showed installing CyanogenMod on my Galaxy S4 live at a cryptoparty.
After reboot, the device showed up with exactly all that Google bull**** i wanted to get rid of - and i still can't uninstall it!
I really wonder:
Where is that ROM project that claims to allow for a Google-free experience?
I mean a real FOSS ecosystem. One that can be secured from sinister interests.
Those CyanogenMod guys, however, have ultimately lost my trust tonight.
Any hints, out there?
blausand said:
Tonight i showed installing CyanogenMod on my Galaxy S4 live at a cryptoparty.
After reboot, the device showed up with exactly all that Google bull**** i wanted to get rid of - and i still can't uninstall it!
I really wonder:
Where is that ROM project that claims to allow for a Google-free experience?
I mean a real FOSS ecosystem. One that can be secured from sinister interests.
Those CyanogenMod guys, however, have ultimately lost my trust tonight.
Any hints, out there?
Click to expand...
Click to collapse
Why would CyanogenMod have lost your trust? CM does not come with proprietary Gapps included. What is in the package is very clear and spelled out. But the % of people that prefer their phone sprinkled with Google goodness far outweigh the % of people who feel the need to be so secure that they have to partially neuter the functionality of the phone in some form or another. Anyway, you can check out the NoGapps project here: http://forum.xda-developers.com/sho...tmctr=(not provided)&__utmv=-&__utmk=34876962
Is CM11 just missing a switch to keep the GApps of the former ROM or drop them?
es0tericcha0s said:
Why would CyanogenMod have lost your trust? CM does not come with proprietary Gapps included.
Click to expand...
Click to collapse
Well, then explain what i find in my Harddrive: (see attachment).
I haven't figured out yet why these GApps persistently stay on my phone no matter how often i wipe /cache and /system and reinstall CM, but i do guess something has changed in their policy.
Maybe it's just a missing switch that should ask me if i want to keep them or drop them?
What bothers me even more, is that i can't uninstall GApps. I can just deactivate them, where what i seek is pure absence of code. Operating virginity fu(king system.
And what makes me lose trust in CM is that, coming with the commercialisation, this windows installer comes up with this clean black box window that just says "downloading" or "installing" for ages, leaving me without any clue about what is currently transferred - and in what direction.
"Theoretically, the CyanogenMod installer could easily have uploaded literally every bit of my private data off my phone within that time."​I guess everybody would feel a lot better if the installer eats the good old .zip i feed it, or at least reports which one it is downloading and at what bandwidth or percentage.
es0tericcha0s said:
Anyway, you can check out the NoGapps project…
Click to expand...
Click to collapse
Thanks for that, man. It's so refreshing to learn about these little steps in the right direction. Will definitely support them!
I much prefer to just download the roms myself vs. using an installer. That would eliminate the "What is it doing??" issue. http://download.cyanogenmod.org/ - I didn't know which version of the S4 you have, so couldn't be more specific. The only time Gapps should be persistent across wipes (though shouldn't happen if you wipe the system...) is when the Gapps you are using also includes a script to save the Gapps across updates. Look in your /system/etc/init.d folder and see if you have any scripts in there you don't recognize or say something about Gapps. CM does come with a few of the open source Google apps included like Voice Search and such. But you can uninstall the apps that you do not want with a file manager that has root access or a system app remover app like this: https://play.google.com/store/apps/details?id=com.jumobile.manager.systemapp You can also remove unwanted apps BEFORE you install if you have the rom zip on your PC combined with a PC app like 7zip that will allow you to open as an archive (regularly unzipping with break the signature of the rom) and deleting the apps from /system/app before you flash.
Keep in mind that disabling will typically be better than uninstalling the app because the end result is the same : not in the app drawer, not able to run, can't use CPU processes, etc. but if you do decide you need it, it is easy to enable, reboot, and use the app again. Removing the apps from /system does not give your phone more usable space for other apps or anything like that since the apps we install get put into /data/app not /system/app whose partitions are already set. Now, you can throw apps from /data/app into /system/app and save some space like that, but you have to give those apps the right permissions as well as some do not like to update properly when there.
Other alternatives include seeing if there is a solid AOSP build for your version of the S4 and use the NoGapps project, or to learn how to dev yourself.
Currently, CyanogenMod helps google to maintain a trap
Again i appreciate your words, es0tericcha0s.
As described before, these scripts work for Google, making their Apps happily survive any attempts to really wipe my own phone.
Today's stock ROMs contain bloatware and spyware, which every proprietary component with root privileges must be considered to be.
Rather than saving memory or improving performance, my goal is to teach to as many "normal" people as possible an easy way to setup trustible alternatives.
I know everything can be accomplished in a root shell, but the way out of this observation hell must be prepared for the masses now.
Starting with Dominik Schürmann's article about An Android without Google i will continue focussing on Replicant.
"As soon as Cyanogen and his team offer a simple exit door to the trap they currently help Google to maintain, i shall be in peace with them again."​
blausand said:
Again i appreciate your words, es0tericcha0s.
As described before, these scripts work for Google, making their Apps happily survive any attempts to really wipe my own phone.
Today's stock ROMs contain bloatware and spyware, which every proprietary component with root privileges must be considered to be.
Rather than saving memory or improving performance, my goal is to teach to as many "normal" people as possible an easy way to setup trustible alternatives.
I know everything can be accomplished in a root shell, but the way out of this observation hell must be prepared for the masses now.
Starting with Dominik Schürmann's article about An Android without Google i will continue focussing on Replicant.
"As soon as Cyanogen and his team offer a simple exit door to the trap they currently help Google to maintain, i shall be in peace with them again."​
Click to expand...
Click to collapse
But I'm certain that the scripts that keep the apps are from the developers, and not Google themselves since they aren't the ones who bundle the Gapps for our use with roms, and that script to keep them across flashing is helpful to more people as is often requested to make it easier to update the rom without a complete reflash.
Ah, I forgot about the Replicant program. I had seen it pop up before but couldn't remember the name. I do a lot of android modding at my shop and it's just something that no one ever asks me to do, so never really bothered to get that far into it. People who know about it are typically gonna be able to do it themselves and the ones that don't know often are not the type of people wanting to relearn how to use their phone. I just weigh the pros and cons for Google's oversight of my phone vs not using some of my favorite Google apps easily like Maps and Gmail and the pros of Google win every time, for me. Luckily there are alternatives though as that is what keeps things moving along. I triple boot with Ubuntu Touch and FireFox OS on my Nexus 5, so it's not like I am against alternatives at all.
You could go full out security geek style and rock this: http://www.theverge.com/2014/2/24/5441642/blackphone-silent-circle-geeksphone-pre-order-launch
Peace after all. A short apology.
Since i tampered quite a bit about cyanogenMod in this thread, i should at least tell how i finally got rid of GApps.
I installed OmniROM just to learn that it's wizard leads me into even wilder Google service agreements than CM did.
(So, unfortunately, i haven't seen and felt it at all )
After that, just out of sheer curiousity, i went into the "advanced" menu of the ClockworkMod bootloader. Surprisingly, the wellknown "clear dalvik cache" was hidden there. So i did and also installed CM over, restarted, earned an endless loop in the Cyanogen Account wizard, did "wipe data /reset", installed CM once more, and finally rebootet into a virgin CM that seemingly didn't contain any GApps anymore.
So, in fact i thank everybody who contributes to a better smart phone experience and of course the community behind what is now venturing as "CyanogenMod". Always remember:
"Don't be evil!"​
blausand said:
Since i tampered quite a bit about cyanogenMod in this thread, i should at least tell how i finally got rid of GApps.
I installed OmniROM just to learn that it's wizard leads me into even wilder Google service agreements than CM did.
(So, unfortunately, i haven't seen and felt it at all )
After that, just out of sheer curiousity, i went into the "advanced" menu of the ClockworkMod bootloader. Surprisingly, the wellknown "clear dalvik cache" was hidden there. So i did and also installed CM over, restarted, earned an endless loop in the Cyanogen Account wizard, did "wipe data /reset", installed CM once more, and finally rebootet into a virgin CM that seemingly didn't contain any GApps anymore.
So, in fact i thank everybody who contributes to a better smart phone experience and of course the community behind what is now venturing as "CyanogenMod". Always remember:
"Don't be evil!"​
Click to expand...
Click to collapse
Just another reason I prefer TWRP recovery as it has the dalvik cache in the regular Wipe menu.
If you don't want any Google stuff on your phone don't have an android or flash a completely different os, cyanogen, omni or just about any ROM in this forum will be based off Google. You can probably flash pure Debian but that won't do you much good if you want to use it as a phone. So youre stuck with hoping someone ported Firefox os or Jolla or Ubuntu touch or whatever.
Your other option would be getting something akin to pdroid or imbed some framework spoofing, some of which may be done for you if you look into your device forum.
But compiling about cyanogen or any other custom ROM is silly as not one of them claim to be Google free or even suggest it, and not installing gapps won't mean there is no Google 'stuff' as its still running android
Best of luck in your endeavors
Sent from my Nexus 4 using XDA Premium 4 mobile app
Android withour Google: Pdroid permission control.
demkantor said:
If you don't want any Google stuff on your phone don't have an android or flash a completely different os, cyanogen, omni or just about any ROM in this forum will be based off Google. (...)
Your other option would be getting something akin to pdroid or imbed some framework spoofing (...)
But compiling about cyanogen or any other custom ROM is silly as not one of them claim to be Google free or even suggest it, and not installing gapps won't mean there is no Google 'stuff' as its still running android
Click to expand...
Click to collapse
Thanks for commenting.
I was thinking that Google's initial contribution to android is both open source and promised to stay away from google's servers. Am i wrong with that?
I've never tried Pdroid. To be honest, the approach shows clearly how conceptually failing the whole perrmission system of android is. And since it is so crucial to the architecture of android, i guess in the next 2 years the real long term killer mobile OS will appear.
I'm also writing this because cyanogenMod is driving me crazy with some bugs and shortcomings, and today i checked the Replicant website and nothing has changed since march.
http://www.cnet.com/news/firefox-os...web-gaming/?part=propeller&subj=news&tag=link
Maybe Firefox OS will become what you want, my guess is that a couple more years and it will work out the kinks and those with a dislike of apple Google and Microsoft will have another choice. Well also jolla looks promising
Sent from my Nexus 4 using XDA Premium 4 mobile app

How can I learn how Android works?

I'm not a developer but I have knowledge about Linux and how PCs in general work. Is there any book/course that explains how android works on a deeper level? I'm not interested in apps or user UIs, I want to know the deeper levels like how partitioning works, how the OS is loaded, why some bootloaders are locked by default, what a custom recovery is or what is the first thing to load when you power on your phone/tablet (do phones have a BIOS like PCs or anything equivalent?). Thanks in advance.
I'm also interested in this, but I think the answer is it's a bunch of undocumented proprietary baseband processor junk nobody will share for the boot, then the rest is basically a Linux distro made by 1000 monkeys on 1000 typewriters copy/pasting stuff provided by their hardware vendors together, and the components of that also probably have no documentation or incorrect documentation.
Just browsing through directory structures on a rooted phone there's so much unused and inaccessible junk like config files for really old versions of android, random vendor apks that aren't configured, and firmware for other processors strewn all over, sometimes multiple copies of the same structure, that it makes no sense. It looks like a bunch of vendors gave their support libraries to manufacturers with the intent they'd delete the unused parts and copy the used parts in, but the manufacturers don't understand how to do that so they just paste the same full directory structure several different places until it starts working.
If it made any sense, some people would just learn it and rooting new phones wouldn't be hard.
dan2525 said:
I'm not a developer but I have knowledge about Linux and how PCs in general work. Is there any book/course that explains how android works on a deeper level? I'm not interested in apps or user UIs, I want to know the deeper levels like how partitioning works, how the OS is loaded, why some bootloaders are locked by default, what a custom recovery is or what is the first thing to load when you power on your phone/tablet (do phones have a BIOS like PCs or anything equivalent?). Thanks in advance.
Click to expand...
Click to collapse
The rabbit hole goes as deep as you want it to. I have plenty of information to get you started. Happy digging!
*A general overview of the android boot process, thanks to the Lineage OS developers.
*An old, but good read on reverse engineering aboot.
*And a much more recent article on reverse engineering android. It gets very detailed in this one. It also goes into the low level processes of android. Like; What loads the bootloader? That kind of stuff. I think this is what you're after. Hope it helps.
About the bios question. The short answer is, "kind of". They have a very simple and proprietary one that's not easy to access. It also does not function in the same ways that a PC bios does. It's more like a motherboard programmer. It's hard to explain. The last article goes into some of that.
Spaceminer said:
The rabbit hole goes as deep as you want it to. I have plenty of information to get you started. Happy digging!
*A general overview of the android boot process, thanks to the Lineage OS developers.
*An old, but good read on reverse engineering aboot.
*And a much more recent article on reverse engineering android. It gets very detailed in this one. It also goes into the low level processes of android. Like; What loads the bootloader? That kind of stuff. I think this is what you're after. Hope it helps.
About the bios question. The short answer is, "kind of". They have a very simple and proprietary one that's not easy to access. It also does not function in the same ways that a PC bios does. It's more like a motherboard programmer. It's hard to explain. The last article goes into some of that.
Click to expand...
Click to collapse
Do you know if there is any tool that lists all the various initscripts and settings in use on a running system? I'd like to remove Google entirely from my phone, but there are so many firmwares and initscripts all over the place that I can't even figure out which ones are actually used to run the system. Half of the settings files, properties, and commands return 0 results or 3-4 useless results when searching for them on the internet.
ZHNN said:
Do you know if there is any tool that lists all the various initscripts and settings in use on a running system? I'd like to remove Google entirely from my phone, but there are so many firmwares and initscripts all over the place that I can't even figure out which ones are actually used to run the system. Half of the settings files, properties, and commands return 0 results or 3-4 useless results when searching for them on the internet.
Click to expand...
Click to collapse
The best way to remove google entirely is to flash a custom ROM or GSI if your device supports it. You really only need to look in system/app and system/priv-app for google stuff. Some phones use stock Google apps for things like the Calendar or MMS. So, to run google-less you may need to replace some system apps as well. Just a warning, even if you already know this. Removing certain apps, even google apps, may cause problems for normal operation. Definitely make a backup before deleting anything in the system.
ZHNN said:
Do you know if there is any tool that lists all the various initscripts and settings in use on a running system? I'd like to remove Google entirely from my phone, but there are so many firmwares and initscripts all over the place that I can't even figure out which ones are actually used to run the system. Half of the settings files, properties, and commands return 0 results or 3-4 useless results when searching for them on the internet.
Click to expand...
Click to collapse
I'm no expert but have been running lineageos 14.1 for some time now. It is a version of android 7.1 in which everything google has been removed. I use it with microG which replaces google play services.
You may wish to look into it instead of re-inventing the wheel.
I use it with a firewall (AFWall +), and Xprivacylua for additional privacy.

Categories

Resources