app-release-unsigned.apk is not signed

2019-01-12 15:52发布

问题:

I downloaded the zip file of an Android app on github and I'm trying to run it, but I get a dialog with this message

app-release-unsigned.apk is not signed. Please configure the signing information for the selected flavor using the Project Structure dialog.

I'm using Android Studio. What am I supposed to do?

回答1:

If anyone wants to debug release build using Android Studio, follow these steps:

  1. Set build variant to release mode.

  1. Right click on app in left navigation pane, click Open Module Settings.

  2. Go to Signing Tab. Add a signing config and fill in information. Select your keychain as well.

  1. Go to Build Type tab. Select release mode and set:

-Debuggable to true.

-Signing Config to the config. (The one you just created).

Sync your gradle. Enjoy!



回答2:

Make sure the build variant is set to debug (and not release) in Android Studio (check the build variants panel).

If set to debug, it should automatically sign the app with the auto-generated debug keystore, without editing the build scripts.

However you will need to create and configure a specific keystore for release.

Official documentation, covering debug and release modes: https://developer.android.com/tools/publishing/app-signing.html



回答3:

Always sign your build using your build.gradle DSL script like this:

    android {
    signingConfigs {
        debug {
            storeFile file("debug.keystore")
        }

        myConfig {
            storeFile file("other.keystore")
            storePassword "android"
            keyAlias "androidotherkey"
            keyPassword "android"
        }
    }

    buildTypes {
        bar {
            debuggable true
            jniDebugBuild true
            signingConfig signingConfigs.debug
        }
        foo {
            debuggable false
            jniDebugBuild false
            signingConfig signingConfigs.myConfig
        }
    }
}

If you want to understand a little more of the Gradle build system associated to Android Studio just pay a visit to:

Gradle Plugin User Guide



回答4:

I was successfully able to debug signed APK , Follow this procedure:-

  1. Choose "release" version in "Build Variant" ToolBar
  2. In the Build.gradle for the module set debuggable true for release build type
  3. Go to File->Project Structure->under signing tab fill all info->Under Flavours tab->Choose signing Config You just created
  4. Set the breakpoints
  5. Run the application in the debug mode


回答5:

if you want to run app in debug mode

1) Look at Left Side bottom, above Favorites there is Build Variants

2) Click on Build Variants. Click on release and choose debug

it works perfect !!!



回答6:

For security reasons, you cannot install an unsigned apk on Android. So if you only have the unsigned apk: you must sign it. Here is how to do that : link

Note that you can sign the apk with a self-signed certificate.

An alternative can be either :

  • to download the signed apk if available.
  • to download the sources, compile them (with Android-Studio or gradle or ...). It will produce multiple apks and one of them will be signed with your debug-key (and so you will be able to install it)


回答7:

signingConfigs should be before buildTypes

signingConfigs {
        debug {
            storeFile file("debug.keystore")
        }

        myConfig {
            storeFile file("other.keystore")
            storePassword "android"
            keyAlias "androidotherkey"
            keyPassword "android"
        }
    }

    buildTypes {
        bar {
            debuggable true
            jniDebugBuild true
            signingConfig signingConfigs.debug
        }
        foo {
            debuggable false
            jniDebugBuild false
            signingConfig signingConfigs.myConfig
        }
    }


回答8:

The app project you downloaded may include a signed info in the file of build.gradle. If you saw codes like these:

buildTypes {
    debug {
        signingConfig signingConfigs.release
    }
    release {
        signingConfig signingConfigs.release
    }
}

you could delete them and try again.



回答9:

In tool window bar select Build Variants Change Build Variant from Release to Debug



回答10:

My problem was solved by changing the build variant as suggested by Stéphane , if anyone was struggling to find the "Build variants" as I did here is a screenshot where you can find it .



回答11:

My solution was to change the name of my signing config from the default "config" to "debug". To verify, I changed it to some other random name and got the error again, and then changed it back to "debug" and the error was gone. So while it seems artificial and I tend to not believe this is the whole story, give this solution a try.



回答12:

i also appear this problem,and my code below

        storeFile file(properties.getProperty("filepath"))
        storePassword properties.getProperty("keypassword")
        keyAlias properties.getProperty("keyAlias")
        keyPassword properties.getProperty("keypassword")

the reason is property name error,it should be keyPassword not keypassword



回答13:

How i solved this

This error occurs because you have set your build variants to release mode. set it to build mode and run project again.

If you want to run in release mode, just generate a signed apk the way we do it normally when releasing the app