2017-05-11 7 views
0

私はアンドロイドでしばらくプレイしてきました。私のアプリケーションがあり、署名付きのリリース(テスト目的)を生成することができたので、私はあなたに持ってくる質問を出しました:私のレポにこの証明書を保存する必要がありますか?バージョン管理のアンドロイドサイン証明書を保存

通常、私のように/home/userで私の証明書を格納し(それにstorePassword私はそれらのいずれかの機密情報を含まないことを好むが、私は変更をコミットしようとしたとき、私はAndroidStudioがstoreFilebuild.graddleを修正することを確認し、私はあなたがより良いバージョン管理に証明書を追加していないと思いますあなたの考え

答えて

1

私は何をしています..私はアプリのgradleを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の署名付きの部分だけを除外できます。

imはすべての機密キーをgradle.propertiesに移動する必要があることを示唆しています。参照here

+0

これは純金です! +1。私はgraddleをよく理解する必要がありますが、あなたのアプローチを完全に理解しました。どうもありがとう –

0

を聞くのが好き)

をこのいずれかを期待していませんでした。

証明書が機密データであるため、.gitignoreを使用すると、ファイル(build.graddle)がgitリポジトリディレクトリにある場合は無視されます。

バージョンコントロールでファイルをコミットした場合は、ファイルをversonコントロールからgit rm build.graddle --cachedで削除する必要があります。

関連する問題