2016-10-27 12 views
0

私はアンドロイドの世界では非常に新しく、私はちょうど私の携帯電話で簡単な世界のアプリを起動しようとしていました。 これを試したところ、アンドロイドスタジオで生成されたAPKが署名なしのものであることがわかりました。だからこれに署名するために、私はキーストアを作成してからプライベートキー、そのエイリアスを作成し、APKに署名し、私の電話にインストールしてそれを実行するのに成功しました。Androidスタジオ - グラデーションへの署名設定の追加

次に、私はthis linkを経由して、新しく作成されたキーストアファイルで自動的にリリースに署名するために、グラデーションに署名設定を追加しました。 私はきちんと手順nは上記のリンクをたどってきたし、何かを逃さなかったが、私は私の署名の設定が終了したら、まだ私はエラー

Gradle project sync failed.Basic functionality(eg. editing, debugging) will not work properly.

Error:(19, 0) Could not find property 'config' on SigningConfig container.

私は驚きで撮影されたと言ってを持っています!現在は手動でAPKに署名することはできません。私は手動で署名しようとすると、 は今、それはGradleのは、私は、このファイルは、私はこのエラーを解決するための助けになるだろうと思い同期

ではないと言います。プロジェクトのbuild.gradle。私が理解しようとしているのは、ここで言及されているのは、署名設定を行う際にAndroidスタジオのUIで設定したものと同じです。

apply plugin: 'com.android.application' 

android { 
    signingConfigs { 
     release { 
      storeFile file("<path>\\firstKeystore.jks") 
      storePassword "******" 
      keyAlias "usual password" 
      keyPassword "******" 
     } 
    } 
    compileSdkVersion 19 
    buildToolsVersion '20.0.0' 
    defaultConfig { 
     applicationId 'com.tech.vasanth.newsfeed' 
     minSdkVersion 19 
     targetSdkVersion 19 
     versionCode 1 
     versionName '1.0' 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      signingConfig signingConfigs.config 
      debuggable false 
      jniDebugBuild false 
      renderscriptDebugBuild false 
      zipAlign true 
     } 
     debug { 
      signingConfig signingConfigs.config 
     } 
    } 
    productFlavors { 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 

答えて

1

buildTypes.releaseブロックに間違いがあります。署名の設定は次のようになります。

signingConfig signingConfigs.release 

注、これはあなたが上記のsigningConfigsブロックで設定を命名する方法であること。

buildTypes.debugブロックに署名設定を残しておいてください(または実際に設定したい場合は、上記のように設定してください)。

+0

あなたが提案したように変更を加えましたが、今度はbuildTypes.debugのsigningConfig signingConfigs.configにこの行のエラーが表示されます これを削除できますか? –

+0

はい、私はすでに私の答えで言ったように。 – Henry

+0

オハイオ州..ありがとう、それは働いた! 私が知りたいことは、右上にリンクがありますか?スタジオのUIを使用して署名設定を構成しました。代わりにbuild.gradleも設定することでそれを行うことができますか?どちらも同じですか? –

0

私は以下の設定をDebug/Releaseに使用しています。

signingConfigs { 
      release { 
       keyAlias 'keyAlias' 
       keyPassword 'keyPassword' 
       storePassword 'storePassword' 
       storeFile file("${rootDir}/keystores/app.keystore") 
      } 

      debug { 
       storeFile file("${rootDir}/keystores/debug.keystore") 
       keyAlias 'androiddebugkey' 
       keyPassword 'android' 
       storePassword 'android' 
      } 
     } 

リリースモジュールを定義しながら:

buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'other-rules.pro' 
      signingConfig signingConfigs.release 
     } 
     debug { 
      signingConfig signingConfigs.debug 
     } 
    } 

注:ここでrootDirは、プロジェクトのルートディレクトリです。上記のディレクトリにキーストアを保存してください。

関連する問題