키 저장소 및 별명에 비밀번호를 설정 한 적이 없으므로 어떻게 작성합니까?


137

인터넷에서 안드로이드 앱 서명 에 대해 더 많이 배우면서 일부 서명 하는 방법키 저장소 파일 또는 비밀번호를 잃어버린 경우 에 대한 게시물을 얻었습니다 .

내가 묻는 질문은 키 스토어 나 그 별명 또는 암호를 만든 적이 없기 때문에 어떻게이 지구상에서 그것을 잊을 수 있습니까?

Android의 경우 비밀번호 android 를 사용하므로 비밀번호가 기본적으로 android 인 경우 어떻게 잊어 버릴 수 있습니까? 새 키 저장소를 작성하는 다른 방법이 있어야합니다.

마지막으로 android가 기본 비밀번호 인 경우 기본 별칭은 무엇입니까?

답변:


409

디버그 모드로 서명

Android 빌드 도구는 APK 서명에 대한 Android 시스템 요구 사항을 충족하면서 애플리케이션을보다 쉽게 ​​개발하고 디버깅 할 수있는 디버그 서명 모드를 제공합니다. 디버그 모드를 사용하여 앱을 빌드 할 때 SDK 도구는 Keytool을 호출하여 디버그 키 저장소 및 키를 자동으로 작성합니다. 이 디버그 키는 APK에 자동으로 서명하는 데 사용되므로 자신의 키로 패키지에 서명 할 필요가 없습니다.

SDK 도구는 사전 결정된 이름 / 암호로 디버그 키 저장소 / 키를 작성합니다.

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"

필요한 경우 디버그 키 저장소 / 키의 위치 / 이름을 변경하거나 사용할 사용자 정의 디버그 키 저장소 / 키를 제공 할 수 있습니다. 그러나 모든 사용자 정의 디버그 키 저장소 / 키는 위에서 설명한대로 기본 디버그 키와 동일한 키 저장소 / 키 이름 및 비밀번호를 사용해야합니다. Eclipse / ADT에서이를 수행하려면 Windows> 환경 설정> Android> 빌드로 이동하십시오 .

주의 : 디버그 인증서로 서명 한 경우 응용 프로그램을 공개 할 수 없습니다.

출처 : Developer.Android


매우 유익했습니다. 답변으로 받아들입니다. 질문이 하나 더 있습니다. 단일 키 저장소에 키가 많거나 키 저장소와 키가 동일한 것입니까?
Anas Azeem

키 저장소에는 많은 키가있을 수 있으므로 키와 키 저장소의 차이점이 분명하다고 생각되는 키와 다른 별명을 작성해야합니다. 키 스토어는 키의 컨테이너입니다

당신이 감사의 jarsigner -verbose -sigalg SHA1withRSA와 -digestalg SHA1 -keystore ~ / .android /하게 debug.keystore my_unsigned.apk androiddebugkey : 내가 설치할 수 없습니다 서명되지 않은 APK에 서명을 사용
이반 Morgillo을

@ user2730944 제공 한 소스에서 알 수없는 "android"비밀번호를 찾는 방법을 축하해 주시겠습니까?
spin_eight 2016 년

22

gradle로 구성하려면 다음과 같이 보입니다.

signingConfigs {
        debug {
            storeFile file('PATH_TO_HOME/.android/debug.keystore')
            storePassword 'android'                   
            keyAlias 'AndroidDebugKey'
            keyPassword 'android'                     
        }
        ...
}

3

우리가 일식에서 응용 프로그램을 실행할 때 apk generate는 기본적으로 android에서 제공하는 Keystore입니다.

그러나 플레이 스토어에 애플리케이션을 업로드하려면 자체 키 스토어를 작성해야합니다. Eclipse는 이미 새 키 저장소를 작성하기위한 GUI 인터페이스를 제공합니다. 또한 명령 행을 통해 키 저장소를 작성할 수도 있습니다.

기본 별칭은

androiddebugkey

키 저장소의 비밀번호가 "android"이므로 (답변하지 않은 경우)
Anas Azeem

@AnasAzeem 내 답변보기

3
Keystore name: "debug.keystore"

Keystore password: "android"

Key alias: "androiddebugkey"

Key password: "android"

이 정보를 사용하여 서명 된 APK를 성공적으로 생성합니다.


2

모든 옵션보다 signingConfig낫게을과 같게 설정할 수 있습니다 debug.signingConfig. 그렇게하려면 다음을 수행하면됩니다.

android {
  ...
  buildTypes {
    ...
    wantedBuildType {
      signingConfig debug.signingConfig
    }
  }
}

그것으로 당신은 어디에 있는지 알 필요가 없습니다 debug.keystore, 누군가가 다른 환경을 사용하더라도 앱은 모든 팀에서 작동합니다.


우수한! 이것은 debugProguard 빌드 유형을 설치 가능하게 만드는 간결한 방법입니다.
Jerry101

1

이 모든 답변과 여전히 하나만 누락되었습니다. 개발자 콘솔의 Google API 섹션에서 인증 자격 증명을 만들 때 '특히 동의하는 경우'옵션을 클릭했는지 확인하십시오 (특히 첫 번째 인증 인 경우). '제목'이없고 다른 필수 필드를 입력하지 않으면이 옵션으로 통화가 실패합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.