Hello guys,
I want to permanently disable camera module and gps module in my phone.
I have not done much android internal modifications but have worked extensively in Embedded Linux.
I though of few approaches,
Method 1:
Find out the camera service which allows higher level applications to communicate with the camera/gps.
Find out the start up script which carries out the 'start service' functionality.
Modify the script and remove those parts.
Reboot
Method 2:
Find out the camera service which allows higher level applications to communicate with the camera/gps.
Add a local script to run at the end to kill the service such that applications will not be able to connect to camera/gps.
Reboot.
Method 3:
Remove/Rename the kernel modules for camera/gps (Don't know whether kernel will crash)
I guess above three ways are sort of easy. But I don't know the service names and init script information.
Can someone help me with this? Can I proceed with any of the above methods or do I need to rebuild the kernel without camera and flash it?
I want to make sure that I do the simplest change possible.
Thank you.
Related
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.
If I want to write a kernel module on Android to identify a developer in a unique manner, is there any provision do so? One way I have thought of is to look at the key used to sign the app, capture it during installation and create a database of it in the kernel. I do not think this will be effective and hence would like to know any other ways.
Ever since I've moved to AOSP based roms (SlimKat, CyanogenMod, OmniRom, Resurrection-Remix,...) , I've noticed that in the DDMS tool (a tool for developers) that it shows all processes, and not just debuggable processes, including all third party apps' processes and OS's processes.
This never occurred for me on stock roms, no matter which device or stock rom I've looked at.
This issue annoys me as a developer, since I usually run only a single app that I develop and when I go to DDMS to choose the app's process, I need to find it amongst many processes (even of WhatsApp) , and, provided it hasn't changed its position on the list, click it and debug it.
So I asked about this on some kernels forums, and usually people didn't mind about it (and for good reason - it can bother only few people).
I've found the next tweak which can do it, but since I'm a complete newb in creating/modifying kernels, I have no idea how to patch it:
setprop ro.debuggable=0
Click to expand...
Click to collapse
Found from here .
I've contacted a few kernel developers and one of them agreed to check it out. I've tested it on CM and it worked just as it was intended :
Only debuggable apps' processes were visible and ready to be debugged.
Anyway, I wish to ask whoever is an expert in developing/modifying kernels those questions:
1. Why isn't this tweak enabled by default?
I mean, this is not the normal way roms work. It's not like this on any stock rom I've seen, not even on Nexus stock roms...
I also don't get why it's this way even for "final/stable" version roms (meaning not nightlies or experimental ones), since you'd probably not need to be able to debug them (users won't give you their device just for that...) .
2. Can you please explain to me, step by step (but don't assume I know anything about kernels development), how to take a rom's zip, and change its kernel so that this tweak will be enabled?
Maybe I could make an automatic tool that does it, either in Java for desktop or for Android.
3. Is there any way to enable this tweak without modifying the kernel? Maybe by using a tool that works with it?
Or maybe, provided we got root, change something to enable it?
I'm using Lenovo Ideatab A3000-h,
I want to make it to be set to run only one app after booting, not even the home page could run then, it will open at the app and still at it forever, I know it's a common need and this has been asked a lot of times before, So, after searching I discovered that there is three options :
1- Creating my own Custom ROM.
2- Making my application a launcher application using android manifest.
3- run a kiosk mode like surlock.
4- Modifying AOSP source code.
So, after a lot of search, I found that the third option can be easily broken be entering the tablet in safe mode and try to remove app then, or by removing it from accessing the tab by PC, and the second option can be broken by the same way.
So, all I got now is to use either the first option or the forth option, and when taking about the first option, thanks to NeroYoung I already know how to:
setting up android kitchen.
modifying ROM img files and jar files.
modifying build.prop.
generating the resulted Custom ROM.
but I don't know the way to reach my needs by customizing a ROM, so, all I want to know is how to modify the custom/stock ROM to achieve my requirement of booting to only a specific app. also if there is another way by making (System Backup ----> Modify ----> Restore Modified System) it will be great.
and when taking about the forth option, I already downloaded the source code and did know how to access it's resources, but don't know where is the source code that controls the start-up process and how to modify it. thanks in advance for all future contributors.
I want to tweak wifi modules therefore i need to disable the android network managing service. Couldn't figure out what's the name of the daemon running this kind of process tho. Any tip is appreciated. Btw the phone is rooted and i'm able to make some config files modifications through ADB.