인텔리제이에서 키스토어(Keystore) 위치 지정하기

일반적인 경우, 키스토어(Keystore)는 Android Studio나 Intelli J같은 IDE에서 관리를 해준다. 취미로 개발하는 경우에는 기본으로 내장된 키스토어를 사용하면 되고, 신규로 키스토어를 만드는 경우에도 마법사 기능을 통해 잘 지원한다.

그런데, 여러개의 앱을 같은 키스토어를 이용해 사인(signing)한 후에 자원(resource)를 공유한다던가, 기존에 만들어진 키스토어를 새로 셋팅된 IDE에 넣고 싶다면 어떻게해야할까? 키스토어를 지정해주어야한다.

인텔리제이 12를 기준으로 설명하면,

  • 실제로 앱을 마켓에 올리기 위해 만드는 경우에는 “File | Project Structure | Artifacts”에서 새 Artifact를 추가해 키스토어 위치를 지정해주면 된다.
  • 디버깅용 키스토어도 만들어서 사용하고 있다면 이는 “File | Project Struecture | Facets”에서 키스토어를 바꿀 Android 프로젝트를 선택한 후에 Compiler 탭에서 위치를 지정하면 된다.

참고 : http://stackoverflow.com/questions/5860399/using-custom-debug-keys-in-intellij-idea-10-community-ed

어떤 keystore로 sign되었는지 확인하는 방법

my.debug.keystore와 my.keystore 2개를 만들면 편하다는 글을 썼었다. 그럼, my.debug.keystore를 이용해 sign된 상태일 때만, Log가 출력되도록 하는 것은 어떨까?

이 때 내가 어떤 keystore를 이용해 sign되었는지 판단하는 방법이 필요하다. 이를 확인하는 함수는 간단하다. 다음과 같다.

private boolean isDebugMode() {
		if (0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE)) {
			return true;
		} else {
			return false;
		}
	}