Android Studio: Installation failed since APK was

2019-02-08 05:55发布

问题:

I am attempting to run my app in an emulator and have been receiving the following error:

Installation failed since the APK was either not signed, or signed incorrectly. If this is a Gradle-based project, then make sure the signing configuration is specified in the Gradle build script.

I am attempting to run the app with a debug setting so signing the app should not be necessary as it will be given a temporary signature upon building.

回答1:

This happens often when you install the same app generated on a different computer. Even the unsigned apk has a signature, so your phone is confused why you're trying to install something with the same package name that was generated on a different computer.

Go to your settings -> apps, then find the app in the list, and clear its data and uninstall it.

Then try installing again. That'll fix it.



回答2:

This problem can be resolved by below two ways

  1. Change Built Variant to debug
  2. Define your application`s signingConfigs

First solution works when you built your application in debug mode. But, once you are ready to publish your application on Google Play store you need to go by second way.

Read for more -> Sign Your App

Hope this will help one and all!



回答3:

I had this same problem occur last night. Running in debug, in my case the app had previously been installed from weeks ago, and I had deleted it, but I was still getting the error and couldn't install it again. I was able to resolve it by going into the AVD manager and wiping user data from there. After that installation and debugging went fine.



回答4:

There may be already install current app with certificate

uninstall it and try again



回答5:

I solved it more or less following the answer of Alex K above, but did not know where to look for 'settings' (total beginner!).

So go to the AVD manager (icon of mobile in toolbar) and click on the arrow on the far right, a small menu appears and here you select 'Wipe Data'.

You do need to first close the emulator.



回答6:

What I tried:

  • Clean Project and Build again
  • Invalidate cache (File -> Invalidate Caches/Restart ...)
  • Reinstalled Debug certificate in case it expired
  • Cleared Gradle cache
  • Add signing process to Gradle
  • Went to settings -> apps in the Emulator and deleted previous versions (as explained in this thread)
  • Wiping Emulator data through AVD interface
  • Upgraded gradle version

None of those solved the issue. In the end I executed the compilation/signing steps manually until I found the culprid: One of the file in my asset folder was 'Icon?' generated by MacOSX

In order to detect it I followed the instructions here to Build an unsigned APK and sign it manually: https://developer.android.com/studio/publish/app-signing#sign-manually

When I ran step 3 (apksigner) I got an exception with message cannot sign apk because of file ..\folder\folder\Icon?

I understand that what was happening is that Android Studio did not capture the exception and tried to deploy the unsigned application onto the emulator.

Once I removed the file and tried again I no longer had the issue. (quite a pain to find the root cause...)

So, step 1:

  • Run the standard check (clear cache..)
  • IF you have a MacOSX, check if one or multiple of your file is 'Icon?'
  • Step 2 - run the steps manually


回答7:

If you still get this error in debug mode, follow these steps:

  1. Clean your project
  2. Run it again

This works for me on Android 2.2 Beta.