Android Studio-디버그 키 저장소


107

Android Studio가 디버그 빌드에 서명합니까? 그렇다면 키 저장소는 어디에 있습니까?


1
서명 된 빌드 만 설치할 수 있기 때문에 어쨌든 서명합니다.
Alexander Kulyakhtin

3
나는 이것이 유효한 프로그래밍 질문이라고 생각합니다. Android 앱을 개발할 때 사용되는 도구 모음과 직접 관련이 있습니다.
Austyn Mahoney 2013-08-02


@Prachi 이것이 3 년 이상 지난 질문의 중복 일 수있는 방법은 무엇입니까? 아마도 이것의 중복 인 다른 하나 일 것입니다.
fasteque

답변:


179

동일한 위치에 있습니다. ~/.android/debug.keystore


5
대신 ~ / .android에 있지 않습니까?
Eugene Mymrin 2013-07-17

14
키 도구 -list -v -keystore ~ / .android /하게 debug.keystore
jturolla

5
키 도구 -exportcert -alias androiddebugkey -keystore C : :이 키 도구 명령의 윈도우 버전입니다 \ 사용자 \ <사용자> \ 안드로이드 \하게 debug.keystore -list -v.
사이먼를

12
기본 비밀번호는 "android"이고 키 별칭은 "androiddebugkey"입니다.
naXa 2016 년

1
androiddebugkey의 기본 비밀번호도 "android"입니다.
kibitzerCZ

64

Windows를 사용하는 경우 위치는 다음과 같습니다.

C : \ User \ YourUser \ .android \ debug.keystore


30

원하는 경우 고유 한 디버그 키 저장소를 지정할 수 있습니다. 이 솔루션은 또한 프로젝트 디렉토리 외부에 키를 저장하고 서명 프로세스에서 자동화를 즐길 수있는 기능을 제공합니다. 예 File -> Project Structure, 로그인 키 스토어 및 비밀번호를Signing 탭 있지만 일반 텍스트 항목이 gradle.build 파일에 저장되므로 비밀이 공개 될 수 있습니다 (특히 저장소 커밋에서). 이 솔루션을 사용하면 디버그 및 릴리스 빌드 중에 고유 한 키 저장소 사용과 자동화의 마법을 제어 할 수 있습니다.

1) gradle.properties를 만듭니다 (아직없는 경우).

이 파일의 위치는 OS에 따라 다릅니다.

   /home/<username>/.gradle/ (Linux)
   /Users/<username>/.gradle/ (Mac)
   C:\Users\<username>\.gradle (Windows)

2) yourprojectname.properties파일을 가리키는 항목을 추가 하십시오. (Windows 용 예)

yourprojectname.properties=c:\\Users\\<username>\\signing\\yourprojectname.properties

3) yourprojectname.properties2 단계에서 지정한 위치에 다음 정보를 사용하여 파일을 만듭니다 .

keystore=C:\\path\\to\\keystore\\yourapps.keystore
keystore.password=your_secret_password

4) 변수를 사용하기 위해 gradle.build파일을 가리 키도록 yourprojectname.properties파일을 수정하십시오 .

if(project.hasProperty("yourprojectname.properties")
        && new File(project.property("yourprojectname.properties")).exists()) {

    Properties props = new Properties()
    props.load(new FileInputStream(file(project.property("yourprojectname.properties"))))

    android {
        signingConfigs {
            release {
                keyAlias 'release'
                keyPassword props['keystore.password']
                storeFile file(props['keystore'])
                storePassword props['keystore.password']
            }
            debug {
                keyAlias 'debug'
                keyPassword props['keystore.password']
                storeFile file(props['keystore'])
                storePassword props['keystore.password']
            }
        }
        compileSdkVersion 19
        buildToolsVersion "20.0.0"
        defaultConfig {
            applicationId "your.project.app"
            minSdkVersion 16
            targetSdkVersion 17
        }
        buildTypes {
            release {
            }
        }
    }

}

dependencies {
    ...
}

5) 즐기십시오! 이제 모든 키가 디렉토리 루트 외부에 있지만 여전히 각 빌드에 대한 자동화의 즐거움을 누릴 수 있습니다.

"props"변수에 대한 gradle.build 파일에서 오류가 발생 if하면 props변수가 할당 되는 첫 번째 조건 내에서 "android {}"블록을 실행하지 않기 때문에 전체 android {... } 섹션을 props 변수가 할당 된 조건에 입력 한 다음 다시 시도하십시오.

여기여기에 있는 정보에서 이러한 단계를 함께 모았 습니다 .


1
"2) 항목 추가 ..."에 대해. 어디에 항목을 추가 하시겠습니까?
VikingGlen

빌드 자동화의 아이디어를 좋아합니다
Khurram Shehzad

감사합니다. 이것은 프로덕션 비밀번호를 소스 제어 외부에 보관하는 좋은 방법입니다 (모든 개발자가 사용할 수있는 것은 아닙니다)!
sham

15

Android Studio debug.keystore 파일 경로는 환경 변수 ANDROID_SDK_HOME에 따라 다릅니다.

ANDROID_SDK_HOME이 정의 된 경우 SDK의 하위 폴더에 .android 라는 파일이 배치됩니다 .
정의되지 않은 때, 키 스토어 같은 하위 폴더에 사용자 홈 경로에 위치 :
- . % HOMEPATH % \ 안드로이드 \ Windows에서
- $ HOME / .android / 리눅스에


1
제공하는 솔루션에 대한 설명을 추가하여 답변을 더 자세히 설명해 주시겠습니까?
abarisone

87 명의 사람들이 ~ / .android / debug.keystore에 있다고 생각하는 이유는 모두 "ANDROID_SDK_HOME"이라는 환경 변수가 없습니다. ???
IloveIniesta 2015 년

이것은 매우 도움이되었습니다. 고마워요
라훌

4

마지막으로 ~ / .android / debug.keystore 파일을 만든 방법은 다음과 같습니다.

먼저 몇 가지 배경. 나는 새 여행용 노트북을 얻었다. Android Studio를 설치했습니다. git 허브에서 내 Android 프로젝트를 복제했습니다. 프로젝트가 실행되지 않습니다. 마지막으로 debug.keystore가 생성되지 않았다는 사실을 알아 냈고 Android Studio에서 생성하는 방법을 알아낼 수 없었습니다.

마지막으로 새로운 빈 프로젝트를 만들었습니다 ... 그리고 그것은 debug.keystore를 만들었습니다!

이것이이 문제가있는 다른 사람들에게 도움이되기를 바랍니다.


1

Mac에서는 /Users/$username/.android에서 찾을 수 있습니다.


1

Windows를 사용하는 경우 파일-> 프로젝트 구조-> 패싯을 따릅니다.

Android 프로젝트를 선택하고 "Facet 'Android'"창에서 TAB "Packaging"을 클릭하면 원하는 항목을 찾을 수 있습니다.


2
'패싯'로 더 같은 메뉴가 없습니다
IgorGanapolsky
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.