How to prevent app uninstillation from users in group? - android

i have developed one android app,have to upload in google play store and it can be accessible for specific group of people and in the group admin only has permissions to uninstall app,remaining group members will not able to uninstall.
How to prevent uninstillation from users ? and how to give permissions to admin ?
except google play store is their any stores to upload my app with my all
needs ?

The short answer - this is almost impossible.
The long answer - you can't prevent the user from uninstalling your application. Maybe on a rooted phone will work, but no on the casuals.
As addition Google Play Store or the deployment to other "Store" will not change this.
In the OEM (or just call it factory/original version) Android OS you can't stop the user from uninstalling your application.
There is an interesting platform called IBM Worklight in which there are tons of customization, orchestration and centralized management of the applications. You can check it out!
IBM Worklight

Related

Ways to stop other android applications from identifying my application?

We have developed a payment application with native android to compete in the local market. Our competitors have made it so that when their applications detect ours, theirs automatically disables itself. The problem is that our users use their applications as well so we wanted our application to be unidentifiable by the other apps.
Our solutions for this have been distributing our app manually instead of playstore and generating a unique bundle id for each individual user.
What else can we do to get around this?
till Android 10 any app can list ALL apps installed on device. starting Android 11 there are some limitations and by default you can't list all apps, so you are "safe". BUT 3rd-party may request QUERY_ALL_PACKAGES permission and will detect your app as well. note that Google Play Store have special policy for such apps, not every app may be published with it
still your app may be detected when it will use this 3rd-party apps API/Service (depends on way for access) and then it will lock itself

Android/COSU: How is the app supposed to auto-run after install

My question is specifically about one line in Android documentation here. https://developers.google.com/android/work/prov-devices#set_up_device_owner_mode_google_account . Particularly item #2 where it says
The DPC is automatically downloaded to the device and launched.
How?
Specifically, what is the trigger that launches the DPC after download while still in the context of the startup wizard? I'm asking because it isn't working for me.
I've got Corporate-Owned Single Use (COSU) application, but I'm getting tripped up on deployment -- specifically the part where the DPC app sets itself as the device-owner. So far, I've loaded the app in Google Play Store as a private application. G-Suite exists in the same domain and Google is registered as the EMM for the account. The COSU app is whitelisted and installs as part of the setup wizard... but it doesn't launch.
To the best of my understanding, it has to launch within the context of factory-reset so that I can reset the device owner to the downloaded app.
Is there a specific Activity or BroadcastIntent I should be looking for? I'm new to Android, so I've been pouring through the TestDPC code, Android docs, and SO posts, but this deployment thing is a pain.
As a secondary query. How would you debug this situation? Its all factory-reset and install by wire, I don't have the opportunity to turn on developer mode and watch logs through Android Studio as it happens. And pushing new builds to Google Play and resetting hardware to download and install has a very long cycle time.
Thanks in Advance
For your DPC to be downloaded and launched after an account is added you need to register as your own EMM along with your DPC, and enroll your G-Suite domain with this EMM.
It might be simpler for you to instead use Google's new Android Management API which doesn't require implementing a DPC or registering as an EMM.

Make android app non erasable

Is is possible to make an android app non deletable.. What i mean is, I want to install a app, but I cant remove/ uninstall it. If I want to uninstall it then it should prompt me for password which I would have set during installation of the app.
When I read the docs they tell it can be done using Device Admin, but it doesnt provide security, interms of it doesn't ask the user for the password and deletes if its correct..
Is it possible to make an app such that even if there is a factory reset the app will still be there on the phone ?
Is is possible to make an android app non deletable
No, unless you want to create your own ROM and preload it with your app, just like some manufactures preload their devices with their own software and other bloatware.
No it is possible to restrict any user to delete the app from android device.
As google already maintaining this scenario by using the concept known as Device Management System.
Google Eyeing on apps which are published by the developer / installed or deleted by the user.
Although you can make your own app which will notify your admin that user is trying to delete the app or deleted the app, using Service Intent concept.

Android Apk Distribution

I have a question on the apk distribution. We all know that we can distribute apks through bluetooth, emails etc.
Now, when I download any apk from the google play, the app gets installed and that we cannot share it by using the licensing policies.
I have my apk on a website. I want the same thing. I want fresh installs from the website also. The app should not shared with any1.
Is there any way to this? Any suggestions on how to do this?
As I said in comment, You can not stop users to forward your apk if they have them in storage, what you can do is to delete it after your app installed, but it can be shared before installing.
and there are tools/apps exist in market which claim to convert installed app into apk, and then it can be forwarded to other device.
Similar question on Forward locking of apk
Edit :- though you can not stop user to forwarding of your apk, But can stop other user to use it, if they receive this app from other sources then your web, as I myself did it earlier, by client server communication where a key is getting generated on Server based on mobile IMEI, so this app is going to be activated for particular mobile based on IMEI number. hence if other users try to use it you can check if this IMEI is register or not, and take action accordingly.

How to Deploy Android Application to Beta Tester Devices

My android app is not in the app store yet.
Is it possible to send my app to someone, and they install it on their device.
Something like iphone AdHoc?
You can email them your APK. Of course, there are several drawbacks to doing this.
There is not any built in copy protection to lock an APK to a single device so a tester could redistribute your application without your consent. This is something that you will need to deal with even once you are using Market to distribute your application. If you select "Copy Protection On", people will still be able to get at your APK as many people have rooted devices and all this option does is influence where the APK is installed. Google advises, "you may also implement your own copy protection scheme" and I think it's prudent.
Add the READ_PHONE_STATE permission to your manifest so you can retrieve the phone's IMEI, send to your server, and determine if a user should be allowed to run your application.
TelephonyManager telephonyManager =
(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String imei = telephonyManager.getDeviceId();
Your testers will need to enable "Unknown sources" to allow install of non-Market applications.
Assuming your tester uses Google as their email provider, it is important to note that the Android GMail application doesn't handle APK attachments properly. While this might confuse the recipient of your email, there are easy work-arounds:
Tell them to use the Browser app to download your attachment through the web interface.
Have them download APKatcher first.
Starting in May 2013, Google added Beta and Alpha programs to the Developer Console. You can now upload an APK to either channel and interested users (or users belonging to the specified Google+ Communities or Groups) can now get the application from the Market just like a regular app.
Users cannot provide public feedback so you have to provide them an alternative way to contact you.
At any given time, you can promote (or demote) an app to/from beta/alpha or even Production.
Here's how mine looks:
Effective beta apk distribution, getting crashes as well as feedback from early adopter is known problem in android community. To solve this problem we built a platform Zubhium for developers by developers.
Just upload apk and email address of users whom you want to distribute beta , and click send. That's it . :)
Platform will invite users and keep a track of who, when and where downloaded, Also it will followup with users who downloaded beta for feedback. You can view , reply , communicate back with users from platform.
Optionally you can integrate crash reporting services to get crashes during beta. It will provide granular details like network, device info with exception details. It does bunch of other stuff also.
Have look at www.zubhium.com
There's already an accepted answer three years ago, but let me share a simpler way to deploy your app in present: DeployGate.
With DeployGate, you can deploy your app to your own (or your colleague's) device, in a matter of seconds. All you have to do is uploading your APK file, then send a link or scan a QR code (two-dimensional barcode) with the device. To update, just upload the app again then it will be pushed to all installed devices.
It's carefully designed to eliminate waste in your daily development. The agent app will guides you and/or your colleagues throughout the app installation process, so you can avoid almost all problems you might face, especially if they are non-tech guys. You can even shortcut typing email address and password to associate an account with your devices, just click a button shown on the browser instead. If you want, you can also catch app crashes with a single line of code integration. It magically works to help you keeping your focus on development.
Disclaimer: I'm working on this product. :)
Is it possible to send my app to
someone, and they install it on their
device
Yes, of course. You can share the APK with other people and they can install the application. It's not necessary for the app to be in the Market.
Yes. Upload it to a website or email the ".apk" file to your friend. Have your friend make sure that the option to allow for "Unknown Sources" on the device is checked (Settings > Applications > Unknown Sources). When your friend downloads the application on their device and clicks to run it, it will be installed and should appear in the applications menu ready to be executed.
Dropbox also works (from this answer).
I used it with an .apk file signed with eclipse's debug certificate. You can find this file in your eclipse project's bin folder (from this answer).
You could also user TestFlight that should perfectly fit your needs, for free!

Categories

Resources