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
Related
In our company I would like to provide my application for some workers, the options are:
via APK - unsafe for phones, complicated updates
via GooglePlay - app can be installed and decompiled by "3rd party people", we do not have something special to hide there (yet ;)), as our web service is secured by logging to it first, but we would like to avoid making it fully publish
via Google Play as test build - limitation to 100 users
via enterprise mobility management (EMM) solutions - we do not have EMM, we would like to avoid creating work profiles on employee devices (these are their private phones, some people are not enough technical to do it, we don't have experience with EMM to deploy it in our company
Is there any way to publish app which will fulfill only few following features:
app is available to users which I choose, for example by their GMail account or by only known to me link
automatic updates when there is new version of app
crash reports (I have Crashlytics so this point may be insignificant)
I've been using a service called App47 for this: https://app47.com/
Basically it allows you to install a private app store on people's phones with all of your internal apps. Check it out
There are others like it but that's the one I've been using
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
I am trying to install APKs from our file server, and it needs to be done silently without the user being able to choose whether or not it's installed or accept permission settings/changes. This is a legit business requirement as we are working with a device vendor to preload our applications into /system/app. This is a custom Android tablet device, and as such, our business unit want to ensure we can push app updates (i.e. force the latest version).
I understand the usual security restrictions, but there seems to be a mechanism to install applications silently for vendor/manufacture level apps. However the information on how to do this seems very spotty at best.
It seems the package installer must be in /system/app and the installer must have the same signing cert key as the app being installed. That's not a problem, but info on how to implement this feature using this flow is something I have yet to find.
Anyone ever done this before?
I'm fairly certain you'll need to ship them a custom Android ROM that allows you to be able to do this (which I doubt their business will enjoy).
The Amazon App Store on a normal device can't install silently in the background like Google Play can. Maybe the Kindle Fire can do this (I don't own one), but if it can, its because its running on a custom ROM built by Amazon.
The best thing you could do is launch an intent that tells brings the user to the app needs to be updated, which brings them to installer activity, which then requires user interaction.
Not exactly an answer. However, we recently faced similar requirement for an android client-server app.
Whenever the application contacts server with a request, it sends the current versionCode as well.
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
//pInfo.versionCode;
//pInfo.versionName;
On server side we check the versionCode and if we have a new version, informs the client and client forces the user to upgrade to the new version. The client app will not work until it is upgraded to the new version. But obviously user can choose to not install etc.
Hope it helps.
Am developing one Android application which is using thinkfreeoffice.apk for viewing documents in my application. My requirement is I have to download both my application and thinkfreeoffice apks at a time and also install both these apks at a time.
anybody did this one before?
You cannot literally, unless your application is signed with the system certificate or you are using the SDK/ADB install method from a connected PC, or you find and abuse some security bug. As a security measure, any installation done by a normal application on the phone will require the user to go through the confirmation dialog one app at a time.
What you can do is put check in your application for the one it depends on, and keep complaining/downloading/ACTION_VIEWing the downloaded package upon startup of your app until the user either decides they don't want to use your app or agrees with the system install dialogue for the app you depend on.
I think it's impossible to install multiple applications at the same time, as the user has to confirm installation for each apk.
You could of course make the user install your application first, then ask the user to install the office application after which you use an intent to start the installation or redirect them to the Market.
Similar implementations have been used in applications that use third party barcode scanning or speech recognition.
I am working for manufacture of cell phones. we develop for the Android platform, therefore we can sign our applications and have system permissions, for example we can use
the packagemanager.installPackage(|..) method, which gives us the ability to install APK's without the user involvement.
I would like to know, if any one you know about an Un-instantiation method which would uninstall apk's silently without user-involvement?
thanks,
ray.
There is functionality in there some where to do this - Google uses remote kill switch to uninstall Android apps, but I haven't seen any details on where you would find this. But as a user I would be very unhappy with a handset which silently removed apps without telling me - even if the app was a security threat, if I had installed it, I would want to be told it was being removed.