Android 용 키 저장소를 작성하는 단계는 무엇입니까?
앱에서 Google지도를 사용해야하는데 어떤 단계를 놓쳤는 지 모르겠습니다. 구체적인 세부 단계를 알려주십시오 (가이드에서 이해하지 못했습니다).
Android 용 키 저장소를 작성하는 단계는 무엇입니까?
앱에서 Google지도를 사용해야하는데 어떤 단계를 놓쳤는 지 모르겠습니다. 구체적인 세부 단계를 알려주십시오 (가이드에서 이해하지 못했습니다).
답변:
제목의 질문에 대답하기 위해 표준 JDK 배포판과 함께 제공되는 Java Keytool 유틸리티를 사용하여 키 저장소를 작성하십시오 %JAVA_HOME%\bin
. Windows에서 이것은 일반적으로 C:\Program Files\Java\jre7\bin
입니다.
따라서 Windows에서 명령 창을 열고 해당 디렉토리로 전환하고 다음과 같은 명령을 입력하십시오
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Keytool은 키 저장소의 비밀번호를 제공하고 식별 이름 필드를 제공 한 후 키의 비밀번호를 프롬프트합니다. 그런 다음 키 저장소를 사용자가있는 디렉토리에 my-release-key.keystore라는 파일로 생성합니다. 키 저장소와 키는 입력 한 비밀번호로 보호됩니다. 키 저장소에는 10000 일 동안 유효한 단일 키가 있습니다. 별명은 응용 프로그램에 서명 할 때이 키 저장소를 참조하기 위해 나중에 사용할 이름입니다.
Keytool에 대한 자세한 정보는 다음 문서를 참조하십시오. http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html
Android 앱 서명에 대한 자세한 내용은 http://developer.android.com/tools/publishing/app-signing.html을 참조하십시오.
keytool -genkey -v -keystore debug.keystore -storepass android -alias android -keypass android -keyalg RSA -keysize 2048 -validity 10000
. 그런 다음 중포 기지에 넣어해야하나요하는 SHA-1을 생성 :keytool -list -v -keystore debug.keystore -alias android -storepass android -keypass android
Android Studio에서 앱을 출시 모드로 서명하려면 다음 단계를 따르십시오.
1- 메뉴 표시 줄에서 빌드> 서명 된 APK 생성을 클릭하십시오.
2-Signed APK 생성 마법사 창에서 새로 생성을 클릭하여 새 키 저장소를 생성하십시오. 키 저장소가 이미 있으면 4 단계로 이동하십시오.
3- New Key Store 창에서 그림과 같이 필요한 정보를 제공하십시오. 키는 최소 25 년 동안 유효해야하므로 앱 수명 기간 동안 동일한 키로 앱 업데이트에 서명 할 수 있습니다.
4- 서명 된 APK 생성 마법사 창에서 키 저장소, 개인 키를 선택하고 두 암호를 모두 입력하십시오. 그런 다음 다음을 클릭하십시오.
5- 다음 창에서 서명 된 APK의 대상을 선택하고 완료를 클릭하십시오.
http://developer.android.com/tools/publishing/app-signing.html
셸에서 단일 행 명령을 사용하여 .keystore를 생성하는 방법을 찾고 있었 으므로 다른 응용 프로그램에서 실행할 수 있습니다. 이게 방법이야:
echo y | keytool -genkeypair -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -alias business -keypass kpi135 -keystore /working/android.keystore -storepass ab987c -validity 20000
dname 은 .keystore의 응용 프로그램에 대한 고유 식별자입니다.
.keystore 내부의 단일 엔터티 인 앱의 별칭 식별자 (많이 가질 수 있음)
.ks
)그것은 나를 위해 정말 잘 작동했으며 콘솔에서 다른 것을 요구하지 않고 파일을 만듭니다. 자세한 내용은 keytool-Key 및 Certificate Management Tool을 참조하십시오 .
/path/file.keystore
storepass 매개 변수로 지적하십시오.
명령 행에서 키 저장소 파일을 작성하십시오.
커맨드 라인 열기 :
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved
// (if you want to store keystore file at C:/ open command line with RUN AS ADMINISTRATOR)
C:\Windows\system32> keytool -genkey -v -keystore [your keystore file path]{C:/index.keystore} -alias [your_alias_name]{index} -keyalg RSA -keysize 2048 -validity 10000[in days]
입력> 비밀번호를 묻는 메시지가 표시됩니다> 비밀번호를 입력하십시오 (보이지 않음).
Enter keystore password:
Re-enter new password:
입력> 세부 사항을 묻습니다.
What is your first and last name?
[Unknown]: {AB} // [Your Name / Name of Signer]
What is the name of your organizational unit?
[Unknown]: {Self} // [Your Unit Name]
What is the name of your organization?
[Unknown]: {Self} // [Your Organization Name]
What is the name of your City or Locality?
[Unknown]: {INDORE} // [Your City Name]
What is the name of your State or Province?
[Unknown]: {MP} //[Your State]
What is the two-letter country code for this unit?
[Unknown]: 91
입력> Y 입력
Is CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91 correct?
[no]: Y
> 비밀번호 입력을 다시 입력하십시오.
Generating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 10,000 days
for: CN=AB, OU=Self, O=Self, L=INDORE, ST=MP, C=91
Enter key password for <index> (RETURN if same as keystore password):
Re-enter new password:
[C : /index.keystore 저장]
작성된 키 저장소 파일을 사용하여 Android 패키지를 .apk로 내보내기
내보낼 패키지를 마우스 오른쪽 버튼으로 클릭하고 내보내기를 선택하십시오.
Android 애플리케이션 내보내기> 다음을 선택하십시오.
다음
[.keystore/.jks]
스튜디오에서 키 스토어 생성 ...
빌드 (Alt + B) > 서명 된 APK 생성 ...을 클릭 하십시오 .
새로 작성을 클릭 하십시오. (ALT + C)
.jks/keystore
파일
에 대한 세부 사항 작성
다음
파일
Studio 마스터 비밀번호를 입력하십시오 (알 수없는 경우 재설정 할 수 있음) > 확인
* 대상 폴더 *> 빌드 유형을 선택하십시오.
release : for publish on app store
debug : for debugging your application
Finish 클릭
!!!
이 튜토리얼 :
http://techdroid.kbeanie.com/2010/02/sign-your-android-applications-for.html
키 스토어를 처음 만들어야 할 때 매우 도움이되었습니다. 간단하지만 developer.android.com의 지침은 너무 짧습니다.
내가 확실하지 않은 부분은 저장할 위치와 키 저장소 파일 에 부여 할 이름 입니다.
나는 당신이 그것을 어디에 두 었는지 상관없이 안전하게 보관하고 많은 백업을 유지해야합니다. 방금 앱 디렉토리에 넣었습니다.
원하는 것이 무엇이든 파일 이름을 "something.keystore"로 지정하십시오. app_name.keystore를 사용했습니다 . 여기서 app_name 은 내 앱 이름입니다.
다음 부분은 별칭의 이름을 정한 것입니다. 다시 한 번 중요하지 않은 것 같습니다 . app_name을 다시 사용 했습니다. 비밀번호는 이전에 사용한 것과 동일하게 유지하십시오. 나머지 필드를 채우면 완료됩니다.
나는 다음 이 가이드를 디버그 키 스토어를 만들 수 있습니다.
명령은 다음과 같습니다.
keytool -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
가장 먼저 알아야 할 것은 디버그 또는 릴리스 모드에 있다는 것입니다. 개발자 사이트에서 "디버그 모드와 릴리스 모드의 두 가지 빌드 모드가 있습니다. 응용 프로그램을 개발하고 테스트 할 때 디버그 모드를 사용합니다. 직접 배포 할 수있는 릴리스 버전의 응용 프로그램을 빌드하려는 경우 릴리스 모드를 사용합니다 Google Play와 같은 애플리케이션 마켓 플레이스에 게시하거나 게시 할 수 있습니다. "
디버그 모드 인 경우 다음을 수행하십시오.
A. 터미널을 열고 다음 을 입력하십시오.
keytool -exportcert -alias androiddebugkey -keystore path_to_debug_or_production_keystore -list -v
참고 : Eclipse의 경우 디버그 키 저장소는 일반적으로 ~ / .android / debug.keystore에 있습니다.
B. 비밀번호를 묻는 메시지가 표시되면 간단히 "android"를 입력하십시오 ...
C. 릴리스 모드 인 경우 다음 지침을 따르십시오.
http://developer.android.com/tools/publishing/app-signing.html <-이 링크는 알아야 할 모든 것을 설명합니다.
서명 된 APK를 내보내 키 저장소를 만들 수 있습니다. 서명 된 APK를 내보내거나 빌드하려고하면 키 저장소를 요청합니다.
기존 키 저장소를 선택하거나 새 키 저장소 작성을 클릭하여 새 키 저장소를 쉽게 작성할 수 있습니다.
여기에 키 저장소를 생성하고 서명 된 APK를 생성하는 방법에 대한 매우 유용하고 잘 설명 된 링크
이 링크는 Android Studio로 수행하는 방법을 설명했지만 기억하면 Eclipse와 매우 유사합니다.
조심해
키 저장소를 생성 한 후에는 서명 된 새 APK를 재생성해야하기 때문에 키 저장소를 안전한 곳에 보관하십시오.
gradle만으로 자동 방법을 제안하고 싶습니다.
** 마지막 명령에서 키 스토어에 대한 추가 매개 변수를 하나 이상 정의하십시오 (예 : 국가 '-dname', 'c=RU'
**).
apply plugin: 'com.android.application'
// define here sign properties
def sPassword = 'storePassword_here'
def kAlias = 'keyAlias_here'
def kPassword = 'keyPassword_here'
android {
...
signingConfigs {
release {
storeFile file("keystore/release.jks")
storePassword sPassword
keyAlias kAlias
keyPassword kPassword
}
}
buildTypes {
debug {
signingConfig signingConfigs.release
}
release {
shrinkResources true
minifyEnabled true
useProguard true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
...
}
...
task generateKeystore() {
exec {
workingDir projectDir
commandLine 'mkdir', '-p', 'keystore'
}
exec {
workingDir projectDir
commandLine 'rm', '-f', 'keystore/release.jks'
}
exec {
workingDir projectDir
commandLine 'keytool', '-genkey', '-noprompt', '-keystore', 'keystore/release.jks',
'-alias', kAlias, '-storepass', sPassword, '-keypass', kPassword, '-dname', 'c=RU',
'-keyalg', 'RSA', '-keysize', '2048', '-validity', '10000'
}
}
project.afterEvaluate {
preBuild.dependsOn generateKeystore
}
프로젝트 동기화 및 빌드시 키 저장소가 생성됩니다.
> Task :app:generateKeystore UP-TO-DATE
> Task :app:preBuild UP-TO-DATE
Android Studio를 원하지 않거나 사용할 수없는 경우 create-android-keystore NPM 도구를 사용할 수 있습니다.
$ create-android-keystore quick
현재 디렉토리에 새로 생성 된 키 저장소가 생성됩니다.
추가 정보 : https://www.npmjs.com/package/create-android-keystore