2017-05-11 3 views
0

나는 안드로이드로 얼마 동안 놀았습니다. 이제 신청서가 있고 서명 된 버전 (테스트 목적)을 생성 할 수있게되었으므로 내가 가지고 오는 질문이 있습니다. 이 인증서를 내 레고에 저장해야합니까?안드로이드 서명 인증서 버전 관리

보통 나는 그들에 민감한 정보를 포함하지 않으려는,하지만 변경 사항을 적용하려고했을 때, 나는 안드로이드 스튜디오 내가 같이 /home/user에서 내 인증서를 저장 그것 (에 storeFilestorePasswordbuild.graddle 수정 볼)

을이 중 하나를 기대하지 않고 있었다 나는 당신의 생각

답변

1

내가하는 일은 .. 나는 앱 grad을 3 부분으로 나눈다.

build.gradle -> 주요 Gradle을

수입 build.gradle에이 3 Gradle을
dependencies.gradle -> 종속성 목록
signing.gradle -> 응용 프로그램 서명 키 저장소
function.gradle ->에 대한 메서드 호출

signing.gradle에만 다음과 같이 설정하십시오.

def alias = project.findProperty('APP_KEY_ALIAS') ?: EHALAL_KEY_ALIAS 
def key_password = project.findProperty('APP_KEY_PASSWORD') ?: EHALAL_KEY_PASSWORD 
def store_password = project.findProperty('APP_STORE_PASSWORD') ?: EHALAL_STORE_PASSWORD 
def store_file = project.findProperty('APP_KEY_STORE_FILE') ?: EHALAL_KEY_STORE_FILE 

if (alias && key_password && store_password && file(store_file).exists()) { 
    android { 
     signingConfigs { 
      release { 
       keyAlias alias 
       keyPassword key_password 
       storeFile file(store_file) 
       storePassword store_password 
      } 
     } 

     buildTypes { 
      release { 
       signingConfig signingConfigs.release 
      } 
     } 
    } 
} 

이렇게하면 build.gradle 부분 전체가 아닌 .gitignore의 서명 부분 만 제외 할 수 있습니다.

메신저는 모든 민감한 키를 gradle.properties으로 옮겨야한다고 제안합니다. 추천 here

+0

이것은 순금입니다! +1. 나는 graddle을 더 잘 이해할 필요가 있지만 접근 방식을 완벽하게 이해했습니다. 많은 감사 –

0

당신은 더 나은 버전 제어에 인증서를 추가하지 않는 게 좋을 듣고 있습니다.

.gitignore을 사용하면 인증서가 중요한 데이터이기 때문에 자식 저장소 디렉토리에있는 파일 (build.graddle)을 무시할 수 있습니다.

그리고 이전에 버전 관리에서 파일을 커밋 한 경우에는 verson 컨트롤에서 파일을 git rm build.graddle --cached까지 제거해야합니다.