Total: Today: Yesterday:
개발/Unity | 2020. 8. 10. 16:36 | Posted by 자수씨

안드로이드 빌드 시 keystore 를 설정한 후 빌드를 하게 되면 Project Settings 에서 keystore 에 대한 패스워드를 지정해야 한다.

 

Unity 의 보안 정책인지 모르겠지만 Unity Editor 를 재시작하게 되면 패스워드가 초기화 된다.

 

BuildPipeline.BuildPlayer() 로 빌드할 경우 항상 패스워드를 설정해주어야 하는 불편함이 발생한다.

 

구글링을 통해 확인된 해결 방법은 keystore 패스워드를 스크립트에서 설정하는 것인데, BuildPlayer 바로 위에 설정할 경우 동일한 에러가 발생한다.

PlayerSettings.Android.keystorePass = "$$password$$";
PlayerSettings.Android.keyaliasPass = "$$password$$";

BuildPipeline.BuildPlayer(...);

 

 

[InitializeOnLoad]  Attribute 와 static 생성자(?) 를 이용하여 설정하게되면 스크립트 내에서 패스워드 설정이 가능한 것을 확인하였다.

[InitializeOnLoad]
public class LocalBuild : MonoBehaviour
{
    static LocalBuild()
    {
        PlayerSettings.Android.keystorePass = "$$password$$";
        PlayerSettings.Android.keyaliasPass = "$$password$$";
    }
    ...
    
}

 

ㅁ 참고자료

https://answers.unity.com/questions/757834/publishing-settings-keystore-password-not-saving.html