Booting restriction - Wear OS Software and Hacking General

Ciao fellow devs,
I've recently been asked to find a way to turn a smartwatch into a custom data tracker, meaning basically to dumb it down and allow its users only access to one app which loads up immediately after booting and cannot be closed. I was wondering if any of you have any experience with this type of 'total conversion' of the OS, and if there is a rather subtle way for me to implement this or that I am forced to either build a custom ROM of Android Wear (if possible?) or move to a different solution such as AsteroidOS.
Thanks in advance guys,

Argon Barlon said:
Ciao fellow devs,
I've recently been asked to find a way to turn a smartwatch into a custom data tracker, meaning basically to dumb it down and allow its users only access to one app which loads up immediately after booting and cannot be closed. I was wondering if any of you have any experience with this type of 'total conversion' of the OS, and if there is a rather subtle way for me to implement this or that I am forced to either build a custom ROM of Android Wear (if possible?) or move to a different solution such as AsteroidOS.
Thanks in advance guys,
Click to expand...
Click to collapse
I would suggest creating an app with a bootreceiver that launches your fit app. Make the fit app (or your own) implement home screen action intent filter, and use adb to set it as default. All without changing stock is! (Note: i didn't test)
Sent from my amami using XDA Labs

Related

How deep can i go (with an App)

Hello,
I have a question not really related to rom development but I hope it is okay if I still ask it here.
My question is: "How deep can I go with an App inside the Android System".
Let me explain. For my thesis in university I need to develop a possibility on how to monitore the behavior of apps. Achieving this by altering the Android System itself is a bunch of work but not very complicated or new. So my Prof asked me if I could do this with just an App - my first thought was NO, but before telling him I thought that I could ask you guys/girls
Topic is on: Monitoring Apps with focus on
- Contacts access (does App xyz actually reads the telephone book and which data is read).
- Calendar (does App xyz reads the calendar)
- Internet Access (does App xyz sends data to a server - to which server - or does this app retrieves information from the internet).
... (... means -> the more ideas the better )
So what I'd like to know is: Does anyone of you has an idea how I could achieve such thing and/or can you tell me how deep I can go into the system with a simple app (doesn't matter if via API or direct IPC or ...)
Thank you very much
Would it matter if the app required root access? I'm sure with root access you could achieve your goal. Not sure if you could without root.
Sent from my ADR6400L using xda premium
Hi a rooted phone is the second possibility - rooting and installing an app is still better then the need to setup with a complete new rom.
Do you have any ideas how I could do this with a rooted phone - i thought about writing some kind of a rootkit but somehow this don't seems to delight my Prof
There seems to be a whole class of software that already does exactly that for not rooted and rooted variations. Check market for any backup software, backup contacts/logs/SMS/apps with data external SD or send to cloud. Pretty much every option seems to be covered under that heading.
Something for you to check out anyway
Sent from my GT-P7300 using Tapatalk
IF you have an idea how you can achieve the above mentioned using a custom rom then you already know which features you will be overridding, in that case create an app that does all that and show's some graphs and features on screen. Just like busybox installer stuff.
just had to say this cause of the threads title...thats what she said!
Sent from my SAMSUNG-SGH-I717 using XDA
Please mind the "with an App" supplement

[Q] Restric privileges on the tablet for other users

Hi everyone! First of all sorry for my english, second, I'm here because I've a big problem.
I need to lend some tablets to some friends for testing an app. The problem is that I don't complete trust in them (or they are too smart or they aren't very familiar with digital products), so I'm afraid that they can make some trouble voluntarily or not.
I'm searching for something that can block the access to determinate applications of the tablet (for example: phone, settings or other installed apps) and the install of new app. Something like a limited user of the tablet, that allowed you to running only some default apps.
I've tried to test some apps that allow you to open the app just by entering a code or a sequence, but they aren't very safe. I always find a way to bypass them. Moreover this type of application don't block the install of new app.
Do you have any solution? What can I do to create this sort of "Limited User"?
Thanks to everyone
You could try the app called "SwitchMe". It should be able to help.

[Q] making an unremovable app

Hi.
I tried to search but couldn't find any solution for this issue.
I know making a real unremovable app is impossible, but I hope I'll be able to find a way to make an app harder to remove.
I want to make some kind of parental protection app.
it should be installed easily without much technical knowledge ( preferred that it will work on unrooted devices).
the app should be hard to remove or disable by the phone user.
who ever installed the app should be able to remove (probably with a password in the app settings).
I don't care if technical users will be able to easily remove the app.
I also don't care if the users will know that the app is installed on their device
I guess the simplest solution will be to some how hide the app from the app drawer.
I saw some where that Cerberus has that option but I guess it requires a root.
another solution might be if there is an option in the android os itself setting an admin password that will not allow
the user to install or remove any apps without the password.
any ideas if how to approach this ?
This is surely not a complete answer, but maybe a point to start with.
In android, you can write services: http://developer.android.com/reference/android/app/Service.html
A facility for the application to tell the system about something it wants to be doing in the background (even when the user is not directly interacting with the application). This corresponds to calls to Context.startService(), which ask the system to schedule work for the service, to be run until the service or someone else explicitly stop it.
Click to expand...
Click to collapse
And there is a possibility of receiving a message if the uninstaller of an app is started: http://developer.android.com/reference/android/content/Intent.html (ACTION_UNINSTALL_PACKAGE).
Google will probably help you on how to use these things
Thanks I'll have a look
David:D said:
This is surely not a complete answer, but maybe a point to start with.
In android, you can write services: http://developer.android.com/reference/android/app/Service.html
And there is a possibility of receiving a message if the uninstaller of an app is started: http://developer.android.com/reference/android/content/Intent.html (ACTION_UNINSTALL_PACKAGE).
Google will probably help you on how to use these things
Click to expand...
Click to collapse

Overwriting existing apps, a high level business dilemma

Hi guys, not sure if this is the right place to do this but i've got a question i hope i can get clarified here with you experts
I am a PM that is in charge of a managing the delivery and development of a business's mobile application. Recently the company is looking to get rid of the incumbent developer due to unprofessional-ism and exorbitant fees. The other technology partner i am directly engaging with is a newly appointed development house and is tasked to clone the app and add additional features the incumbent refuses to add on.
Come launch date, the business requires the new app to replace the old app. To the existing customer base, the goal is to ensure that the transition is as seamless as possible. They are hoping that when existing users open the app, they will be prompted to install an update where the old one is then replaced with the old one. As such, is it possible for the new technology partners to this? What are the necessary steps required? I am trying to ensure that all necessary precautions and dependencies are covered to ensure any potential backlash / fallout. Is it as simple as obtaining the app certificate and ensuring the apk is named exactly the same? Any advice would be helpful.
The worst case scenario here would be to get the users to reinstall the app entirely or treat it as a completely separate app. :crying:
You need the signature keys of your first developer to sign the new APK which needs to have the same package name. And access to the dev console. Then you can upload the new app which will be treated as every other update by Google Play. Without changing the first app you won't be able to force the users to update AFAIK.
Fellhuhn said:
You need the signature keys of your first developer to sign the new APK which needs to have the same package name. And access to the dev console. Then you can upload the new app which will be treated as every other update by Google Play. Without changing the first app you won't be able to force the users to update AFAIK.
Click to expand...
Click to collapse
Hi thanks for the reply. Much appreciated! Would this be similar for iOS as well?
Relating to the last statement. What do you mean by "without changing the first app.."
androFRUST said:
Hi thanks for the reply. Much appreciated! Would this be similar for iOS as well?
Click to expand...
Click to collapse
I don't have enough experience with iOS to comment on that.
Relating to the last statement. What do you mean by "without changing the first app.."
Click to expand...
Click to collapse
While you can upload a new version of the same app the users would still have to manually (or automatically if their device is configured that way) download it. Google released a "forced update" API a while ago. If that is included in your old app that might help. Otherwise you would have to add it manually which would require access to the source code. But then the users would have to manually update too so it would be quite useless.
So one way to force them to update is to disable all APIs the app might use but that might alienate the users as they have no clue why it stopped working. So as long as you have no notification system that is working right now you have to depend on your users updating.

Is it possible to block apps from being installed on my device by Package Name?

Hello there!
I use a Motorola Moto G6 that's running on Android 9 Pie (Build no. PPS29.118-11-1) and I was wondering if there was a way to block certain apps from being installed on my device by their package name. I want to be able to do this for the same reason I use very strict settings on Digital Wellbeing: self control.
I know that you can install and block apps and I know that you can use parental settings on your phone but that simply won't help in this situation. I'm also aware that an app with these capabilities might not be available. My question isn't if it's possible now or with the utilities currently provided through apps developed for my Android OS; I'm trying to figure out if it's possible to block apps by their Package Name in any way and if it's impossible to make (in theory) an app that can do it.
I'm not sure how it can be done. Can it be done by having an app that reads through an app that's attempting to be installed and generates bricked app directories where it should chuck out the app's resources so it can't be installed? Maybe. Can it be done by cancelling the installation request of an app that has a Package Name matching one inputted into a list on the hypothetical app in question? Not sure. If anyone knows the answer to those two proposals or has their own suggestions, please do your best to answer my post and keep in mind, this has to be done without the phone being rooted.
An additional but important factor: this is about self control. I can easily bring myself to not remove or otherwise disable restrictive measures on my phone, but I'd like to know if I can make it so that you cannot remove a Package Name that has been blocked in the phone no matter the method used in the first part (other than uninstalling the blocker app, of course).
Regards,
Yoki Aza

Categories

Resources