[android] Cannot install signed apk to device manually, got error "App not installed"

I'd like to publicate my app to GooglePlay but first i would like to do a last testing with the signed apk to ensure that all of the used API keys are working correctly with the release version (GMaps, Facebook, etc)

So i just made a signed version of my app with our release key and when i try to install the app to the device i got an error:

enter image description here

I have tried to copy the apk to the device and install it with an apk installer app.

Strange thing is when i do the same process with debug signing key, all is well, I can install and run the app.

Here are the steps of the procedure:

I select the release key, type password.

Here are the steps of the procedure:

I do select release build type instead of debugging

I do select release build type instead of debugging

Just in case i also defined in the gradle file the signing keys but I must admit i dont know is it necessary.

Just in case i also defined in the gradle file the signing keys but I must admit i dont know is it necessary.

I tried like 7 seven times now so i assume this problem is not just a mistyped password, also I can make this work with the standard debug android signing key.

Please help if you can.

This question is related to android certificate release android-install-apk

The answer is


I was face same issue in my android application. I did just update some library and then create sign APK. Now its work.


This can happen due to your choice of the signature version. On some phones, installation errors occur if the signature version was selected as V2. So if that happens, try selecting V1, it will surely work.


Go To Build.Gradle(module:app)

use this - minifyEnabled false


It's quite old question, but my solution was to change versionCode (increase) in build.gradle


I am using Android 10 in MiA2. The mistake I was making is that I tried to install the app via ES Explorer. I tried Settings -> Apps & Notifications -> Advanced -> Special App Access -> Install Unknown Apps -> ES File Manage -> Allow from this source. Even then the app won't install.

Then I tired to install the app using the default File Manager and it installed easily.


In my case I was trying to test installing a signed APK and the current installed version on my device was unsigned (building a debug version directly from Android studio)


Removing android:testOnly="true" attribute from the AndroidManifest.xml worked. link


Select both Signature Version v1 and v2 will resolve the issue

enter image description here

v1 scheme

A JAR file can be signed by using the command line jarsigner tool or directly through the java.security API. Every file entry, including non-signature related files in the META-INF directory, will be signed if the JAR file is signed by the jarsigner tool. For every file entry signed in the signed JAR file, an individual manifest entry is created for it as long as it does not already exist in the manifest

V2 scheme

v1 signatures do not protect some parts of the APK, such as ZIP metadata. The APK verifier needs to process lots of untrusted (not yet verified) data structures and then discard data not covered by the signatures. This offers a sizeable attack surface. Moreover, the APK verifier must uncompress all compressed entries, consuming more time and memory. To address these issues, Android 7.0 introduced APK Signature Scheme v2

By default, Android Studio 2.2 and the Android Plugin for Gradle 2.2 sign your app using both APK Signature Scheme v2 and the traditional signing scheme, which uses JAR signing.

It is recommended to use APK Signature Scheme v2 but is not mandatory. please see the details


That may because you run APK file from external SD card storage. Just copy APK file into internal storagem problem will be solved


In Android Studio 3.0 and Above

As described here

Note: The Run button builds an APK with testOnly="true", which means the APK can only be installed via adb (which Android Studio uses). If you want a debuggable APK that people can install without adb, select your debug variant and click Build Bundle(s) / APK(s) > Build APK(s).

Add android:testOnly="false" inside Application tag in AndroidManifest.xml

Reference: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html


It is obvious but still it was hard to figure out for me,

Please check if your mobile device has enough space to install the apk. and it is not full.


File > Project Structure > Build Variants > Select release > Make sure 'Signing Config' is not empty > if it is select from the drop window the $signingConfigs.release

I did this with Android Studio 3.1.4 and it allowed me to create a release apk after following all the steps above of creating the release apk and release key and adding the info to the app gradle. Cheers!


if Your Android Studio Version Greater than 3.0

Looks like we can not directly use the apk after running on the device from the build -->output->apk folder.

After upgrading to android studio 3.0 you need to go to Build -> Build Apk(s) then copy the apk from build -> output -> apk -> debug

enter image description here


I faced the same issue today, I remembered that I signed my apk with the "new" Google Play signing:


enter image description here


Make sure if you signed your application with Google Play signing.

If you did:

  • Upload your apk to Google Console (like you usually would when updating your application):

enter image description here


  • After it has successfully uploaded, open the Artifact library in the menu.
  • You will see the apk you have just uploaded.
  • Press the download button and select Download derived APK.

You will now be able to install the apk.

You can delete the draft after have downloaded the apk without having to update your application to the Google Play Store


minifyEnabled false

is the only that worked for me after 3 days of research on all forum!


Here I resolved this issue

The reason behind this issue is, there is already an application with the same package name in the phone, but you cannot find it in phone menu(U already made the un-installation but actually its still in your phone).

To see the application go to phones SETTINGS -> APPS. There you can see the application, but inside that the UNINSTALL button may be disabled. click on the menu overflow button to see Uninstall for all users.

After performed uninstalled for all users I have successfully installed my signed apk. You can also use adb to uninstall the app from phone.

adb uninstall package name

In addition to this, if your mobile supports multiple users then check if respective app is not installed for other users. If it is installed for others then first uninstall previous app and try again


Kindly uninstall the debug app in the device or just increase the version code to overcome this issues


For Current Updated Android Studio 2.3 users this answer is for you as hardly people use eclipse nowadays for Android development as Android studio has huge advancements.

So, Follow this way to create your Signed apk file.

  1. Build > Generate Signed apk.
  2. Create Keystore path.
  3. Put Password, alias, key password.
  4. Build type select accordingly(eg to release in playstore use release).
  5. Signature Version select both V1 and V2 checkboxes.
  6. Finsih.
  7. Go to from explorer where you selected for the apk to store and you will see your .apk file name as app-release.apk use it.

Android Studio 4.1.1 If you want to create the debug apk, and just before creating the apk you tried running on your phone/simulator (doing create signed apk right away will cause the APP NOT INSTALLED),YOU SHOULD CLEAN THE PROJECT before creating signed bundle/apk


You don't have to uninstall the Google Play version if App Signing by Google Play is enabled for your app, follow the steps:
1. Make a signed version of your app with your release key
2. Go to Google Play Developer console
3. Create a closed track release (alpha or beta release) with the new signed version of your app
4. You can now download the apk signed by App Signing by Google Play, choose derived APKenter image description here

  1. Install the downloaded derived APK

The reason is App Signing by Google Play signs release apps with different keys, if you have an app installed from Play Store, and you want to test the new release version app (generated from Android Studio) in your phone, "App not installed" happens since the old version and the new version were signed by two different keys: one with App Signing by Google Play and one with your key.


The same thing happened to me, as long as I generated my apk from Build> Build APK. I could install and un-install the apk as many times as they were without any problem, but instead if I generated the Build> Generate Signed APK, when I passed the apk to the phone and try to install it, it only allowed me one occasion, the same one that came out the following message:

enter image description here

until then everything was fine if I selected "INSTALL IN ANY WAY", but what happened if I uninstalled the app and wanted to reinstall it (a possible scenario), the following happened:

enter image description here

so I solved the problem by disabling play protect, which I achieved (within Google Play)> Menu> Play Protect> Search for security threats (disable).

enter image description here

enter image description here


selecting Signature Version v1 and v2 both solved the problem for me....try itenter image description here


Above shubham soni answer works for me,actually it happens to android version >=5.0.In above you able to install just use this while creating your apkenter image description here...


"App not installed" shows when an app with same package already installed in same device. just delete your first application which you were using for testing purpose before making it to signed apk. This will work. cheers!


Examples related to android

Under what circumstances can I call findViewById with an Options Menu / Action Bar item? How to implement a simple scenario the OO way My eclipse won't open, i download the bundle pack it keeps saying error log getting " (1) no such column: _id10 " error java doesn't run if structure inside of onclick listener Cannot retrieve string(s) from preferences (settings) strange error in my Animation Drawable how to put image in a bundle and pass it to another activity FragmentActivity to Fragment A failure occurred while executing com.android.build.gradle.internal.tasks

Examples related to certificate

Distribution certificate / private key not installed When you use 'badidea' or 'thisisunsafe' to bypass a Chrome certificate/HSTS error, does it only apply for the current site? Cannot install signed apk to device manually, got error "App not installed" Using client certificate in Curl command Convert .cer certificate to .jks SSL cert "err_cert_authority_invalid" on mobile chrome only Android Studio - Unable to find valid certification path to requested target SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch Verify a certificate chain using openssl verify Import Certificate to Trusted Root but not to Personal [Command Line]

Examples related to release

Cannot install signed apk to device manually, got error "App not installed" How to set up gradle and android studio to do release build? How to create a release signed apk file using Gradle? How to determine whether code is running in DEBUG / RELEASE build? C# if/then directives for debug vs release Error "Metadata file '...\Release\project.dll' could not be found in Visual Studio"

Examples related to android-install-apk

Cannot install signed apk to device manually, got error "App not installed" Android App Not Install. An existing package by the same name with a conflicting signature is already installed How to Sign an Already Compiled Apk How to run (not only install) an android application using .apk file? Android Failed to install HelloWorld.apk on device (null) Error How do I solve the INSTALL_FAILED_DEXOPT error? How to build an APK file in Eclipse? What is INSTALL_PARSE_FAILED_NO_CERTIFICATES error?