[Q] Creating Android Service Daemon - Android Q&A, Help & Troubleshooting

Hi, I'm somewhat new to Android Development, but have 20 + years of software development. I want to create daemon service and here are some of the requirements that are needed. I'm not sure if all this can be done at application level or if I have to get down into the system level and build my own custom Android OS. I have no problem doing that. I just need info on what I need. Can some one point me in the right direction or if anybody has some knowledge on this that would like to share, I would greatly appreciate it. Thanks.
Requirements:
1) Create Daemon service that runs in the background
2) Can spawn/fork other Daemon services and restart them
3) Services/processes have to be hidden from user(user cannot see in task list or cannot uninstall)
4) Has to start when Android boots up
5) Can throw up alert messages to user
6) user cannot uninstall this service/application

tjohnson1970 said:
Hi, I'm somewhat new to Android DevelopmentAlbut have 20 + years of software development. I want to create daemon service and here are some of the requirements that are needed. I'm not sure if all this can be done at application level or if I have to get down into the system level and build my own custom Android OS. I have no problem doing that. I just need info on what I need. Can some one point me in the right direction or if anybody has some knowledge on this that would like to share, I would greatly appreciate it. Thanks.
Requirements:
1) Create Daemon service that runs in the background
2) Can spawn/fork other Daemon services and restart them
3) Services/processes have to be hidden from user(user cannot see in task list or cannot uninstall)
4) Has to start when Android boots up
5) Can throw up alert messages to user
6) user cannot uninstall this service/application
Click to expand...
Click to collapse
What you are wanting to create is called a System App in Android terms. All system apps on a particular rom share a signing key, so you will either need to work with the phone maker, or make your own ROM. To dig further quickly, look into smali and the newest version of apktool. You should be able to grab and debug the odex from a piece of bloatware (carrier iq) that does what you are describing.
I look forward to writing the howto on clearing your app and flashing your yet-to-be-named rom onto compatible devices.

FesterCluck said:
What you are wanting to create is called a System App in Android terms. All system apps on a particular rom share a signing key, so you will either need to work with the phone maker, or make your own ROM. To dig further quickly, look into smali and the newest version of apktool. You should be able to grab and debug the odex from a piece of bloatware (carrier iq) that does what you are describing.
I look forward to writing the howto on clearing your app and flashing your yet-to-be-named rom onto compatible devices.
Click to expand...
Click to collapse
Thanks for the Info. I'm pretty sure we want to make our own rom, if that is something that I can do. What is a good link for How to build your rom?
I will check out the newest apktool.

Related

[REF} All in One guide for NOOBS! With Videos Now!

If you just switched from iPhone or BB or this is ur first android. Read this thoroughly and see ur questions get eliminated by this guide. if you find this helpful than show your appreciation and hit that thnx button.
I don't take any credit I Googled everything. I do take credit of modifying some stuff in word. I won't have this Phone but I am just being helpful to the community.
Little in-depth information about Android. Must Read. Thank You Pirateghost.
Pirateghost said:
Android itself is OPEN. you can go and build your very own version of 4.0 ICS right now from source code. there are very few phones you can STABLY and RELIABLY run it on though.
The NEXUS line of phones exists for a reason. they are untouched by carriers (verizon teabagged the Galaxy Nexus a little), and do not have some stupid overlay on them. they are developer devices in that it is the first phone to get android updates straight from google (no manufacturer interference required).
every other phone is tainted with a manufacturer's UI. Touchwiz on Samsung phones (galaxy nexus is a samsung but they provided the hardware not the software), Sense on HTC, 'non-blur' on Motorola, whatever Sony calls theirs...lol, LG, etc
on top of that tainted Android interface is a carrier branding or lockdown (doesnt apply to the entire world, but im only referring to US here)
so google releases new version of Android
manufacturers build phone, and customize android to fit their model (this is where android almost stops being OPEN)
carriers get a hold of the manufacturers build of android and tweak and modify it themselves (more than likely they just tell the manufacturers what they want), as you know they love to include bloat and lock it down from the user
you receive your android phone after it has gone through all those steps....long process huh? we dont get updates to newer versions as quickly because of that long process...and they would rather us buy new phones instead of improving perfectly good hardware.
Android is open in the sense that manufacturers can use it however they wish, within reason. it is not necessarily meant to be 'open' to the average end user, and manufacturers dont want you messing with the phone they built. its the reason XDA is what it is today, albeit with roots deep in WinMo hacking.
Click to expand...
Click to collapse
ADB → Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with an emulator instance or connected Android-powered device..
Android →Unveiled on 5 November 2007, Android is a mobile operating system running on the Linux kernel developed by Google.
AOSP → Android Open Source Project
Apps2SD → Move applications from the internal NAND memory on the device to a removable SD Card.
BLN → BackLight Notification
Bloatware → Software bloat is a process whereby successive versions of apps include an increasing proportion of unnecessary features that are not used by end users, or generally use more system resources than necessary, while offering little or no benefit to its users. Like all the crap that comes from At&t
Brick → When used in reference to consumer electronics, "brick" describes a device that cannot function in any capacity (such as a device with damaged firmware). This usage derives from the fact that some electronic devices (and their detachable power supplies) are vaguely brick-shaped, and so those which do not function are useful only as actual bricks. The term can also be used as a verb. For example, "I bricked my phone when I tried to modify its firmware."[
Hard Brick → When your phone does not turn on at all. When you can’t get in to CWR/CWM Or Stock recovery. You are basically screwed.
Soft Brick → When your phone bootloops. When you can get into CWR/CWM. When You can use jigtag to get into download mode.
Busybox → BusyBox provides several stripped-down Unix tools in a single executable. It runs in a variety of POSIX environments such as Linux, Android, FreeBSD and others, such as proprietary kernels, although many of the tools it provides are designed to work with interfaces provided by the Linux kernel. It was specifically created for embedded operating systems with very limited resources. Platforms counterparts, but they are pretty close and useful nonetheless.
CWR OR CWM ClockworkMod Recovery →A custom recovery for Android phones and tablets that allows you to perform several advanced recovery, restoration, installation and maintenance operations on your Android device that aren’t possible with the stock recovery.
DEODEX → Apk files have respective odexes that devs use to supposedly save space. Deodexing means you convert it back to a .dex file and put it back inside the apk. This allows you to easily replace file (not having to worry about odexes), but the main point was to deodex services.jar so that you can change all text to different colors (such as the clock color to white) and to deodex services.jar, you need to deodex everything.
Flashing → The process of applying a firmware image (or ROM) to a device. It generally entails a very specific order of steps. Failing to complete any one of these steps properly may result in bricking the device.
Firmware → is a term often used to denote the fixed, usually rather small, programs and/or data structures that internally control various electronic devices. Programs stored in the ROM, EPROM, or flash memory that usually control various internal electronic devices (Hard Drives, Keyboards, Displays, etc). Firmware is typically 'fixed' software that is not updated in consumer devices, however it is often updated (or 'flashed') by advanced users to fix bugs or add features to the device. Flashing firmware designed for one device onto a different device, or not following a specific procedure while flashing will often render the device unusable.
Kernel → is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components
Radio → The cellular radio on the device which needs control software called firmware to control it.
ROM → Read Only Memory. In the context of an Android device, ROM is the internal flash memory where the core operating system resides. It can also refer to a specific version firmware that can be applied to a device through a process usually referred to as flashing. An improperly flashed ROM can often brick the device, rendering it unusable.
Superuser→ A program, which gives unlimited access privileges to perform any or all operations on the operating system.
ODIN → Odin is the Samsung software used to update Samsung phones. It does not work with any other devices other than official Samsung phones.
OTA or FOTA → (F)OTA stands for (Firmware) Over The Air and is the process by which required updates and enhancements to your phone's basic operating system can be sent to you through the cellular network. The Galaxy S II software update will be sent via FOTA and is available through Samsung Kies mini.0
ODEX → In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
SDK → Software Development Kit.
Logcat → A debugging tool built into Android devices that displays system logs as they occur. See Logcat.
NANDroid → A set of tools that will enable anyone who has root on their Android device to make FULL system backups, in case something goes wrong or you want to try out that new experimental ROM/theme. NANDroid will backup (and restore) /system, /data, /cache, and /boot partitions.
Recovery Mode → A special environment that you can boot into for troubleshooting and upgrading purposes.
Kang → The process of creating a code based of someone else's code or reapplying code that someone else created into your own code (e.g. git cherry-pick)
Rooting → is a process that allows users of mobile phones and other devices running the Android operating system to attain privileged control (known as "root access") within Android's Linux subsystem with the goal of overcoming limitations that carriers and manufacturers put on some devices.
How to Root Your note????
There are two root methods for YOUR ATT GALAXY NOTE!
1 which uses kernel to root.
2 This one flash with Odin but in system level not boot kernel.
#1 root by Da_G!
Da_G said:
Hi!
This kernel enables custom boot animations (/system/media/sanim.zip), adb root, init.d support, runs a script to auto-root your /system partition, and then you're on your merry way
You may need the USB Drivers available here. (Support & Downloads for SGH-I717)
Once the USB Drivers are installed, power off the phone, then hold volume down and power it on, you'll get a screen asking you to hit vol up to continue, do so. This puts the phone in download mode.
Stick the provided pda.tar in the PDA box of Odin3 1.85, flash away!
Install Superuser from the market after booting.
Note that this will increase your flash counter, which is presumably used by Samsung as a reason to decline warranty service (not aware of any reports of this occuring yet...?)
Don't forget the donate link in my signature if you found this useful and want to motivate me to work on overclock/undervolt
Click to expand...
Click to collapse
#2 Root by mashi!
How to backup your current ROM????
Hard Way!
Get into CWR!
Scroll down to backup and restore!
Press backup.
How to Restore Your backup????
If You used ROM manager than!
Go to manage and restore backups!
And press the one you like to restore!
If you have Nandroid than!
Go to CWR!
Scroll down to backup and restore!
Press restore!
How to Flash a ROM????
Basic Steps
! Choose the ROM that you want and download its .zip file
!! Transfer the zip file to your phone’s sd card. Do not put it into any folder.
!!! Turn off your phone and reboot into recovery, usually by holding the down button and power button at the same time.
!!!! Do a Nandroid backup
!!!!! Wipe the phone 3 times by clearing cache/factory restore 3 times and wiping dalvik cache and system format
!!!!!! Flash the zip file that you put on your sd card
!!!!!!! Reboot phone
You can find all ROMS here!
How to flash Kernel with CWM????
_Download the Kernel You want to flash and put it in sd card.
__Boot in to CWM!
___Wipe cache & Dalvik Cache
____Press install from Sd card!
_____Select the kernel that you dloaded!
______Flash it!
_______Reboot!
________Check in CPU SPY to see if you successfully flashed Kernel.
You can find Kernels in development forum.
These will set you back to Stock and Unroot Your phone.​
Da_G said:
Hi,
This is an odin .tar prepared with the stock AT&T Kernel, System, and Recovery.
Flash it from odin using the same instructions as my root thread
After flashing, you may need to boot into recovery by powering off, holding vol up + vol down, and holding power until you get into recovery. Then perform a factory reset, this should get you up and running after most brickery.
Note that this is a large file (~450MB), please spare my web host if you don't particularly need it
Download .rar here
Below are stock kernel-only odin tars:
AT&T stock kernel-only odin pda tar
TELUS stock kernel-only odin pda tar
Bell stock kernel-only odin pda tar
Rogers stock kernel-only odin pda tar
Don't forget the donate link in my signature if you find this useful
Click to expand...
Click to collapse
Very cool thank you! I will finally be upgrading from an iP 3G!
LOL . . . . ever since I got it no phone really wowed me until I saw the G Note in November. Anywhoo. . . I was hoping for a noob friendly guide like this
appdroid said:
reserved 1
How to Root Your Skyrocket????
Click to expand...
Click to collapse
Not sure why do i need to know how to root the Skyrocket for the ATT Note here? just saying
Sry just fixed it.
sweetboy02125 said:
Not sure why do i need to know how to root the Skyrocket for the ATT Note here? just saying
Click to expand...
Click to collapse
look at you go! haha good work !!!
I figure this is the least i can do to help young community here!
00mred00 said:
look at you go! haha good work !!!
Click to expand...
Click to collapse
tx appdroid, us noob's really appreciate it!
(in all my years i never seen the "Reserve" post idea b4...it was a DUH moment for me lol)
Excellent guide for us that are really green on the Android platform.
thank you for helping this noob
appdroid said:
I figure this is the least i can do to help young community here!
Click to expand...
Click to collapse
I'm just so young and I need your help
How do you permanently change the hostname on Android?
On CyanogenMod ROMs this is easy, there was an option for it in Applications -> Development Options. But I don't know what hooks that uses and I don't know how to do it on this flavor of Android we have.
Thanks for your post, it help me a a lot. I done a little scripting on unix using mostly tcl. I hope I can get back on it and develop a few applications for this phone once I have it on march.
Thanks!
Thanks for the noob thread. Switched over from an iP4 and its taking a little getting used to. Luckily I already had the Revue and TF101 to help a little.
On a side note I found the http://forum.xda-developers.com/showthread.php?t=1505062 root method was very easy and didnt involve the counter getting screwed up or having to flash a whole new rom. Highly recommend it for anyone just wanting to root their device.
ANother Android Newbie
Coming from IP4 and looking forward to learning hot to make Android work for me.
How do I read your "Reserveds"???

[Q] Will building a Rom using allow me to get / generate a system certificate ?

I have a project in eclipse which won't compile as I am trying to use permissions which are only ament to be used by system applications. If well received the app will be included in real firmware, but I need to test the couple features using system permissions. I was hoping just to export it using a system key so it actually compile and then i can hopefully just push it onto devices (system area) I wish to test / demo on.
To get the key through I am under the impression I need to build android, i've been trying to follow this https://groups.google.com/group/Android-DevPhone-Updating/tree/browse_frm/month/2010-04?_done=/group/Android-DevPhone-Updating/browse_frm/month/2010-04?&&pli=1 Does anyone know the simplest way I can obtain a system key to sign my app with?

Exchange platform-signature in custom ROM

Hi there -
short prologue: I am working on my bachelor thesis and must develop a service that keeps a record of how often a user actively uses the application permission settings of Android 6 and above. The main goal is to have a custom ROM which can be deployed on several phones to conduct a survey.
I identified the file where these settings are stored:
Code:
/system/users/0/runtime-permissions.xml
I want to set up a service running a FileObserver to keep track of the changes in this file. The file is not accessible by normal applications (permission -rw-------) but the service has to run without superuser.
So I want to sign my application with the platform key to obtain system permissions. I am totally clear on the purpose of this security concept and I know that I cannot get the original key. The resulting ROM is not going to be public and is used only in a controlled group for research purposes.
My question is how to exchange the signature/key with what the system applications of my actual ROM are signed. So that I sign my own apk with the same key so it has the special permission. I found the answer to this exact question on stackoverflow but it is quite old and I did not succeed with this explanation.
Do you know if there is another, more current approach?
Thanks in advance!
Device is a Xiaomi Redmi 4X running stock MIUI 9 (Android 7.1.2)
Just have the app built as part of the rom. This will make sure they both have the same signature.
zelendel said:
Just have the app built as part of the rom. This will make sure they both have the same signature.
Click to expand...
Click to collapse
What do you mean by "built as part of the rom"? I cannot build the rom from aosp because the device should run the original MIUI firmware. I used SuperR's Kitchen to modify the rom. Is this not suitable?
That will not work no. Maybe you could try using their patch rom setup. As very little is done with miui here, you mugjt be better off asking in n their forums.
zelendel said:
That will not work no. Maybe you could try using their patch rom setup. As very little is done with miui here, you mugjt be better off asking in n their forums.
Click to expand...
Click to collapse
Can you explain, why this wont work? I supposed I just have to exchange all the signed apk files. When I re-sign them with apksigner then they also obtain the self-signed certificate containing the public key. So why is this not enough? Is there another instance in the OS which checks the app signature on boot?
The entire system partition uses the same signature. So I guess you could go through and recompile everything with the new key but I doubt it would work. Many oem system apps won't work without their oem signature.
Like I said. You maybe better off asking over in the miui forums as very little is done here for it.

Android building questions

Hey, I hope I am in the right place.
I need to do some modifications to a custom android version.
I have the source code of the whole android and can compile it,
thing is, I need to modify some system settings so these are my questions:
1. Is it possible to see which driver is loaded into the system?
2. Is it possible to see some sort of booting log? What is being loaded into the system, stuff like that.
3. Is it possible to modify this drivers list? Change which driver is loading, cancel loading of a specific driver and so on.
Also, if anyone could refer me to a guide on the matter, something that explains the system level of android I'd appreciate it too
Bump. Anyone?
Bumpy again

Android Boot Process?

I'm not a software engineer, I'm a retired hardware engineer that's messed around with enough software and OS's to be dangerous (mostly to myself), but I make no claim to really understand any modern OS.
I've always set the boundary of how much detail I want to deal with at the Windows Taskmanager level which in the case of Android is the Running Process/Cached Background level. I require a basic understanding of all the processes and services that are ostensibly operating on my behalf on any and all devices I supposedly own.
I don't begrudge companies like Microsoft, Google, Samsung and others doing their business, in fact I encourage them to do so, however, I do object to their forcing me to run processes and services that are far more beneficial to them than they are to me. But luckily I don't have to. I have my own launcher, keyboard and set of apps and tools that I can load on pretty much any generic android device and it will pretty much do what I want.
The prime offender in my opinion is Google Play Services. It runs 17 services on my devices most of which my only understanding is a couple words in Running Services but I'm pretty sure are not something I want. In general I keep Google Play Services uninstalled (--user 0) except for when I install or update something from the Play Store after which it's promptly uninstalled. Any app or portion thereof which is non-functional without Play Services installed is either ignored or uninstalled. I've also uninstalled (--user 0) over 240 pieces of Samsung bloatware.
With the above I mind I've been using a handful of Android tablets (Meize, Tabuta, Cwowdefu, Onn and others) which all had their idiosyncrasies but all behaved similarly. Specifically they all seemed to go through a minimal boot process leaving a handful of previously active apps in the cached background all of which went away once I selected a 0 Background Process Limit in Developer Options.
Anyway these were all pretty cheap tablets and I needed to get a top line phone to get the best screen, battery and multitasking support so I recently bought a Samsung Galaxy Fold3, Flip3, Tab A7 lite and Tab 8 to try out and they boot up differently than the close to a dozen tablets I've tried. First off the Samsung devices seem to cycle ALL installed (including system) apps (even disabled apps) through Running Processes to the Cached Background and left them there ignoring the Kill Background Processes and Limit Background Processes settings in Developer Options. Note there have always been a few apps like Nova7 that prefer to operate in the Cached Background but previous to getting the Samsung's, Nova7 and sometimes Android Core Apps were the only ones. The Samsung's literally had hundreds of apps in the Cached Background before I uninstalled over 240 of them off the Fold3. Now at least it pretty much only cycles through apps I've installed and will begrudgingly delete them all but only after I set a 0 background cache limit and manually delete each one except for Nova7 and sometimes Android Core Apps.
Can anyone help me understand what's going on here?
I read your post with care, but I admit that I don't understand what you are asking.
TL;DR Why Samsung runs too much bloat in background?
ze7zez said:
I read your post with care, but I admit that I don't understand what you are asking.
Click to expand...
Click to collapse
Thank you for your response. Ultimately I'm asking for someone that understands the sequence of actions that Android goes through each time a device boots up to explain the process to me.
I understand this is a somewhat abstract, open ended and difficult question.
I basically described two methods of booting. The first method is as described above used by the Meize, Tabuta, Cwowdefu and Onn tablets where the boot process only cycles through a handful of system apps (Settings, Keyboard, Launcher, Android Core Apps, etc.) during bootup and then obeys the "Don't Keep Activities" and "Background Process Limit" Developer Options settings.
The 2nd boot method I described was how all 4 Samsung devices I mentioned worked where the boot process seemed to cycle through pretty much every app installed on the device and then the "Don't Keep Activities" and "Background Process Limit" Developer Options settings are pretty much ignored.
These two boot sequences are not consistent. Can each device vendor just do whatever they want and if so is there anything I can do about it? Would rooting the Samsung devices help?
alecxs said:
TL;DR Why Samsung runs too much bloat in background?
Click to expand...
Click to collapse
Because they can.
In Samsung's defense bloat is very subjective. One person's bloatware is another person's favorite and most useful function. But with that said in general all 4 Samsung devices had 4 or 5 times more of what I consider bloat than any other vendors with which I have experience.
alecxs said:
TL;DR Why Samsung runs too much bloat in background?
Click to expand...
Click to collapse
I followed the *** read before you post *** link and that is exactly what I'm trying to do which is to understand the why behind the way things work so that eventually I can figure it out myself.
Mumblefratz said:
I followed the *** read before you post *** link and that is exactly what I'm trying to do which is to understand the why behind the way things work so that eventually I can figure it out myself.
Click to expand...
Click to collapse
Things like the bootloader and kernel are loaded, which are required to because otherwise the system cannot even be booted.
there is much stuff but basically you are interested in OS? what comes after linux kernel and init?
Service Manager -> Zygote -> System Server?
Minionguyjpro said:
Things like the bootloader and kernel are loaded, which are required to because otherwise the system cannot even be booted.
Click to expand...
Click to collapse
OK. But what happens after that? What decides which apps get loaded as active as listed in Running Services in Developer Options? Is there any way for me change which apps get started or to stop apps from being started in the first place? Again, would rooting the phone give me any additional control on which apps are started and which aren't?
Mumblefratz said:
OK. But what happens after that? What decides which apps get loaded as active as listed in Running Services in Developer Options? Is there any way for me change which apps get started or to stop apps from being started in the first place? Again, would rooting the phone give me any additional control on which apps are started and which aren't?
Click to expand...
Click to collapse
Multiple things, although I not know all the things. You could try what @alecxs said.
alecxs said:
there is much stuff but basically you are interested in OS? what comes after linux kernel and init?
Service Manager -> Zygote -> System Server?
Click to expand...
Click to collapse
You're not kidding when you say "there is much stuff".
I'm interested in what decides which processes and services are started as listed under Running Services in Developer Options and which aren't.
Will look into google sources later, that is always the best documentation. here is just a quick overview for now.
Note: I am a layman in this.
https://elinux.org/Android_Zygote_Startup
alecxs said:
Will look into google sources later, that is always the best documentation. here is just a quick overview for now.
Note: I am a layman in this.
https://elinux.org/Android_Zygote_Startup
Click to expand...
Click to collapse
Thanks for the link that's all very helpful information.
I thought I was the layman in this but if you're a layman than on a relative scale I'm a clueless noob.
I have nowhere near the level of understanding I would need to start messing around with the Android Boot Process but I find that every time I boot up an Android I go through a process of setting a number of Developer Options settings, stopping a few processes and services listed under Running Services and even sometimes clearing an apps cache and data storage to stop it from misbehaving.
I'm guessing I could accomplish what I want with an init.rc type script that kills a few unwanted processes, maybe start a process I want, set a couple Developer Options settings, and, maybe clear an apps data storage. I assume doing something like this would require root but I'm not sure that even then I'll be able to do what I want.
I'm pretty close to feeling confident enough to attempt rooting my 2nd best phone (the Flip3). If I brick it, oh well. But before I make the attempt I'd like to have some assurance that I'll be somehow able to do the things I described in the paragraph above.
of course, messing with OS would require root. however, on US/Canada devices bootloader unlocking is not allowed.
you can run startup script with such app (no root) or automate tasks with Macrodroid, Tasker, Automate etc. (no root)
init.d scripts support - Apps on Google Play
We allow init.d scripts for non rooted users or kernels that don't support
play.google.com
you can debloat by just disabling packages. however, be prepared for factory reset is the only way to undo in case you accidentally disabled essential packages (no root)
How to uninstall carrier/OEM bloatware without root access
If you want to get rid of carrier/OEM apps from your phone, here's how you can uninstall bloatware from your device without root access!
www.xda-developers.com
any open source GUI adb tool for macos can disable/delete bloatware?
list apps and delete/disable each of them by issuing command is boring. anyone knows any open source lightweight gui tool to do so? thanks
forum.xda-developers.com
regarding boot, read the comments in SystemServer.java
alecxs said:
of course, messing with OS would require root. however, on US/Canada devices bootloader unlocking is not allowed.
you can run startup script with such app (no root) or automate tasks with Macrodroid, Tasker, Automate etc. (no root)
init.d scripts support - Apps on Google Play
We allow init.d scripts for non rooted users or kernels that don't support
play.google.com
you can debloat by just disabling packages. however, be prepared for factory reset is the only way to undo in case you accidentally disabled essential packages (no root)
How to uninstall carrier/OEM bloatware without root access
If you want to get rid of carrier/OEM apps from your phone, here's how you can uninstall bloatware from your device without root access!
www.xda-developers.com
any open source GUI adb tool for macos can disable/delete bloatware?
list apps and delete/disable each of them by issuing command is boring. anyone knows any open source lightweight gui tool to do so? thanks
forum.xda-developers.com
regarding boot, read the comments in SystemServer.java
Click to expand...
Click to collapse
That sounds very good. We just need to wait for Mumble...
I think it's what he already did in past.
alecxs said:
there is much stuff but basically you are interested in OS? what comes after linux kernel and init?
Click to expand...
Click to collapse
With today's 32/64 Android it's more like:
Code:
PBL (primary boot loader in ROM)
└── xbl (secondary boot loader)
└── abl (Android boot loader)
└── kernel
└── init (PID 1)
├── /system/bin/app_process64 (zygote64)
│ ├── system_server
│ └── most user applications
├── /system/bin/app_process (zygote)
│ └── only user applications with user libs that are only supplied in armeabi-v7a
├── adbd
└── other init services
I think that the Pixel 7 doesn't run the 32 bit zygote by default.
yes, that is also explained here. but it's too early. I wouldn't call it Android Boot process.
[INFO] BOOT PROCESS: ANDROID vs. LINUX
NOTE: I'm not a developer or Android expert. All information provided here is copied from different internet sources and is to the best of my knowledge. I'll not be responsible for any harm to you or your device resulting from this. 1. PC BOOT...
forum.xda-developers.com
Reverse Engineering Android Boot Process - Need Help
Tl;dr = I have studied the boot process. I understand the Qualcomm SOC boot process PBL > SBL/XBL > And so on. I am trying to get a disassembly of the SBL. I dumped the EMMC and can view all its partitions. Now I am stuck at the 80 bytes header...
forum.xda-developers.com
alecxs said:
yes, that is also explained here.
Click to expand...
Click to collapse
Oh, yeah, there's tons of stuff going on.
And that's not even touching the Baseband Processor (modem, radio) or TrustZone.
I was amazed at how much stuff is going on in xbl.
See: https://forum.xda-developers.com/t/...tloader-packing-signing.4473815/post-88159647
My diagram above is more like "dominoes falling" than details.
More to the point for Android users, it's important to make clear (if they don't know it already) that the Android "subsystem" is just a minor feature on top of Linux.
If you're rooted the command stop something can be used to stop any init service, like adbd, vold.
With just plain stop it will stop the zygote(s), which will kill all Android related stuff.
init (and everything else started by it) will happily continue running.
Code:
# ps -e | grep zygote
root 918 1 5434548 89856 poll_schedule_timeout 7d517830c8 S zygote64
root 919 1 1745416 76032 poll_schedule_timeout f079e6e0 S zygote
# stop
# ps -e | grep zygote
# start
Poke3:/ # ps -e | grep zygote
root 6814 1 5434548 92888 poll_schedule_timeout 7d9005f0c8 S zygote64
root 6815 1 1440552 42828 poll_schedule_timeout f41e46e0 S zygote

Categories

Resources