问题
I am developing an app which uses Google APIs. I have created credentials at "Google Developers Console". If I creates a signed APK, and run it on the phone, there is no problem.
The problem is, while I developing the app, when I click RUN button, it deploys an unsigned version of the app on the phone. Thus the application does not work.
How can I set Android Studio to make it deploy signed APK on the phone when click RUN button?
回答1:
Add these values to your .gradle:
signingConfigs{
key{
keyAlias 'your key alias'
keyPassword 'your keypassword'
storeFile file('keystore path')
storePassword 'your storepassword'
}
}
buildTypes {
debug{
signingConfig signingConfigs.key
}
}
The keystore path in the file will be something like E:/xxx/xxx/xx.keystore
.
回答2:
Usually I do it from command line, installing via "adb install -r file.apk" (-r to preserve app's data)
Also it can be done via Gradle and project settings, see answers here: Android Studio - Run signed apk on emulator
回答3:
When I want to test my APK release I just use ADB-Link. Its free and very easy to setup. Just make sure to delete any previous builds that you installed on your device otherwise the installation will fail.
回答4:
Maybe this is not an answer to your question about how to sign the app before running it, but have you thought about the option to create a new signature key for the debug key you are using? You could use a separate API key in debug mode.
I found some extra information about using a key in release and debug mode: Android: automatically choose debug/release Maps v2 api key?
来源:https://stackoverflow.com/questions/27081347/how-can-deploy-signed-apk-when-click-run-in-android-studio