前提
- unity 2018.4.7f1
- Android
できること
- 一度、KeystoreとAliasのパスワードを設定してビルドすると、以降、エディター起動時に自動的に設定されるようになります。
やりかた
- 以下のコードを、適当な
Assets/~/Editor/~
へ入れてください。
SaveKeystore.cs
using UnityEditor;
using UnityEditor.Callbacks;
public class SaveKeystore {
private static string keystorePrefsName => PlayerSettings.Android.keystoreName;
private static string keyaliasPrefsName => $"{PlayerSettings.Android.keystoreName}/{PlayerSettings.Android.keyaliasName}";
[InitializeOnLoadMethod]
private static void OnLoad () {
if (string.IsNullOrEmpty (PlayerSettings.Android.keystorePass) && !string.IsNullOrEmpty (PlayerSettings.Android.keystoreName)) {
PlayerSettings.Android.keystorePass = EditorPrefs.GetString (keystorePrefsName);
}
if (string.IsNullOrEmpty (PlayerSettings.Android.keyaliasPass)) {
PlayerSettings.Android.keyaliasPass = EditorPrefs.GetString (keyaliasPrefsName);
}
}
[PostProcessBuild]
private static void OnBuilded (BuildTarget target, string path) {
if (target == BuildTarget.Android) {
if (!string.IsNullOrEmpty (PlayerSettings.Android.keystoreName) && !string.IsNullOrEmpty (PlayerSettings.Android.keystorePass)) {
EditorPrefs.SetString (keystorePrefsName, PlayerSettings.Android.keystorePass);
}
if (!string.IsNullOrEmpty (PlayerSettings.Android.keyaliasName) && !string.IsNullOrEmpty (PlayerSettings.Android.keyaliasPass)) {
EditorPrefs.SetString (keyaliasPrefsName, PlayerSettings.Android.keyaliasPass);
}
}
}
}
留意事項
- KeystoreおよびAliasのパスワードが、平文でエディターの設定内(EditorPrefs)に保存されます。
- すなわち、他のエディタ拡張からでも取得可能です。
- 以下は、PlayerPrefsの記事ですが、EditorPrefsへ応用できると思います。
- Keystoreファイルの絶対パスに依存します。プロジェクトフォルダを移動するとオートロードできなくなります。