The app works fine in debug. But when I build it in release mode, and sign it, it will not install on any devices unless they are configured to allow apps from unknown sources i.e. the phone says "For security, your phone is set to block installation of applications not obtained from Android Market"
The app will not install from dropbox, or the gmail app.
It won't install on a Galaxy Nexus, a Samsung Galaxy S II, a Nexus One, amongst others.
As far as I can see the signing process works fine - there are no errors.
I've tried signing with a key from another app, and that fails too, when that key works fine for another app. This suggests the key is not the problem.
The APK is definitely a release build.
So what are the checks Android performs before it allows a signed, release app to be installed? How does it know it's not from a trusted source?
You will have to enable the devices to "allow non-market apps" to be installed else it will complain.
You will find this somewhere in Settings->Development.
I've had this problem before.
Try the steps listed here
Also, go to settings, then Applications. Theres a button to allow it at the top of that screen.
Find option Unknown Source and make it enable.
Some have this option in setting --> Application
Some have this option in setting --> Security
Related
I recently created an android app. When I tried to debug my app on my phone, it worked. Then I generated the apk, and tried to execute it from the file browser, it doesn't work, and I have the following error message : "App not installed", despite having allowed the unknown source in the settings. I also tried with an official app. For that, I extracted the Apk with apk extractor, uninstalled the app, and then executed the apk: same error. I tried many solutions found on the web, but none of them worked :
I disabled play protect.
I reseted the app preferences in the settings.
I tried on my former phone and on my father's phone.
I updated the os on my phone (android 10 to android 12).
I have already installed many apps just by executing the apk on my phones (including my current one) and it's the first time i'm facing this problem.
Can you help me please ?
Debug build and Release build have different signatures so before installing "release app" you should uninstall "debug app".
Also check expiration date of your release signature and make sure it is a valid signature.
I gave a build for android using gradlew assembleRelease.
but app-release.apk file not working for some devices like honor 9i, Redmi note 5 pro.
Make sure your app is compatible with OS of your device. Enable installation from unknown sources. Sign your app before sending .apk. It is important due to security restriction of some devices.
signing your app
Happened to me on some devices as well. Even if you allow installation from unknown sources turned on. Some devices alter the final .apk file (maybe for security reasons). So we used android playstore publish for distributing app as test/beta builds. Pick one appropriate for your pre release distro. It should work fine.
I made an Android app using Android studio, deployed and ran it directly by using my mobile running Oreo.
It installed successfully. But later I tired to share the APK from my mobile to other mobiles. But none of them are able to Install it.
However, if I build the APK and share the app-debug.apk to other mobiles. It Installs successfully.
I can't build APK and share app-debug.apk it everyone.
I usually deploy it in my mobile, share APK(which used to work before)
Can anyone please help
Please excuse typos, I have typed from mobile.
There might be a signing issue. Is your app signed? The default signing is the debug signing. When you just build and deploy or run it on a connected device, it is signed by default as a debug sign.
If it is not uniquely signed, then running or installing on other devices might not be possible. Look at the app signing instruction and guide by Google, here, if you wish to distribute your app on other devices.
Another problem might be in the security authorization of other devices. Your device on which you are building has the developer options turned on. To run and install unsigned apps you'll need to activate the developer options in the device you want to run it on. Look at this link about Developer Options and how to turn it on.
by default the Android Studio packages just the needed files and installs the app in your mobile. If you share to other mobiles, the app will not install in few devices due to a few reasons like OS version, files mismatch, SHA keys mismatch, etc.
However, if you build the APK and share, the APK is equipped to be installed in any device starting from the minimum SDK version to the target SDK version.
I exported an unsigned apk file that represents a test version of my Android application. I need to distribute this to quite a few users. Is there a simple method to distribute the apk file where it will install the app? I'm trying to avoid the test users from having to download something like Astro or the sdk. Any ideas? I tried putting it out on a global web server and the file downloads but doesn't install. Thanks for the help!
From the android documentation:
The Android system will not install or run an application that is not
signed appropriately. This applies wherever the Android system is run,
whether on an actual device or on the emulator. For this reason, you
must set up signing for your application before you can run it or
debug it on an emulator or device.
So even if your users have the "Allow installing non-market apps" checked, your application will still have to be signed with at least a test key before it can be installed on a physical device.
I just put my experimental apps on the Android market with a description that says "don't install this, it won't work for you" and then give an access key to my testers.
I am facing a strange problem. I created an apk of my application with unsigned key and tried to install it on my samsung galaxy pop, but i am not able to install it on my samsung galaxy pop. I enabled the option for installation of non market place app but i am getting unable to install message.
However when i am connecting phone with USB and clicking on run it is getting installed in the device.
is there anything wrong in my approach??
this is my sample apk file which i am trying to install http://www.mediafire.com/?aotxfupx7h7t568
Thanks
You must sign it
From Signing Your Applications
*The Android system requires that all installed applications be digitally signed with a certificate whose private key is held by the application's developer. The Android system uses the certificate as a means of identifying the author of an application and establishing trust relationships between applications. The certificate is not used to control which applications the user can install. The certificate does not need to be signed by a certificate authority: it is perfectly allowable, and typical, for Android applications to use self-signed certificates.
All applications must be signed. The system will not install an application that is not signed.
It couldn't be any clearer
If you are doing this from Eclipse and running the app on handset, I think android treats it differently, since you probably had USB debugging enabled and the handset is fooled into thinking it is debugging.
When you tried installing the app, because it is not signed the handset may be rejecting it.
You should be fine running and debugging like this, but when you create the final apk you will need it signed.