現象
appモジュールのBuild Variantsがreleaseの場合、
Android StudioでRun app (あるいはDebug app)した時に、
Edit configurationダイアログが表示され、下部に、
Error: The apk for your currently selected variant (app-release-unsigned.apk) is not signed. Please specify a signing configuration for this variant (release).
のメッセージと共に、「Fix」ボタンが表示される。
対処法 Project Structureで、Signing(署名)の設定を入れる。
[Stackoverflow - android studio: release apk is not signed]
http://stackoverflow.com/questions/34553272/android-studio-release-apk-is-not-signed
1.File -> Project Structure...
2.Modules/app (または他のモジュール)を選択する
3.Signing タブを選択し、必要事項を入力する
※Key Alias とKey Password が先に来ます。
Generate Signed APK ダイアログとは順番が逆なので注意しましょう。
パスワードの入力欄を間違えた時の表示例:
* What went wrong:
Execution failed for task ':app:packageRelease'.
> Failed to read key ~ : Keystore was tampered with, or password was incorrect
4.Build Types タブを選択し、releaseを選択します。
Signing config ドロップダウンリストで、"config"(またはSigning タブで設定したもの) を選択します。
5.OK をクリックしてProject Structureを閉じます。
原因
Run appやDebug appが使うのは、(おそらく)Build/ Build APKで生成されるapk。
Build Variantsでappモジュールをreleaseに設定した場合は、署名済みのapk(app-release.apk)が生成される必要がある。
※Generate Signed Apk...相当ではない というのがミソ。
事前にGenerate Signed Apk...したかどうかに関わらず、というよりも、outputフォルダにapp-release.apkがあるかどうかに関わらず、Signingの設定を入れていない場合は、同じ現象が発生します。
蛇足1
Build Typesタブにある、Signing configは、ドロップダウンリストでなくコンボボックスだろう、という突っ込みが来そうな予感が。
ちなみに、設定した値("config"など)を外したい場合は、コンボボックスをクリックすれば編集できます。
蛇足2
少し混乱しそうな回答内容が含まれていますが、参考リンクその2。
[Stackoverflow - app-release-unsigned.apk is not signed]
http://stackoverflow.com/questions/25001479/app-release-unsigned-apk-is-not-signed