Android Studio가 디버그 빌드에 서명합니까? 그렇다면 키 저장소는 어디에 있습니까?
Android Studio가 디버그 빌드에 서명합니까? 그렇다면 키 저장소는 어디에 있습니까?
답변:
동일한 위치에 있습니다. ~/.android/debug.keystore
원하는 경우 고유 한 디버그 키 저장소를 지정할 수 있습니다. 이 솔루션은 또한 프로젝트 디렉토리 외부에 키를 저장하고 서명 프로세스에서 자동화를 즐길 수있는 기능을 제공합니다. 예 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.properties
2 단계에서 지정한 위치에 다음 정보를 사용하여 파일을 만듭니다 .
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 변수가 할당 된 조건에 입력 한 다음 다시 시도하십시오.
Android Studio debug.keystore 파일 경로는 환경 변수 ANDROID_SDK_HOME에 따라 다릅니다.
ANDROID_SDK_HOME이 정의 된 경우 SDK의 하위 폴더에 .android 라는 파일이 배치됩니다 .
정의되지 않은 때, 키 스토어 같은 하위 폴더에 사용자 홈 경로에 위치 :
- . % HOMEPATH % \ 안드로이드 \ Windows에서
- $ HOME / .android / 리눅스에
마지막으로 ~ / .android / debug.keystore 파일을 만든 방법은 다음과 같습니다.
먼저 몇 가지 배경. 나는 새 여행용 노트북을 얻었다. Android Studio를 설치했습니다. git 허브에서 내 Android 프로젝트를 복제했습니다. 프로젝트가 실행되지 않습니다. 마지막으로 debug.keystore가 생성되지 않았다는 사실을 알아 냈고 Android Studio에서 생성하는 방법을 알아낼 수 없었습니다.
마지막으로 새로운 빈 프로젝트를 만들었습니다 ... 그리고 그것은 debug.keystore를 만들었습니다!
이것이이 문제가있는 다른 사람들에게 도움이되기를 바랍니다.
Windows를 사용하는 경우 파일-> 프로젝트 구조-> 패싯을 따릅니다.
Android 프로젝트를 선택하고 "Facet 'Android'"창에서 TAB "Packaging"을 클릭하면 원하는 항목을 찾을 수 있습니다.