これを理解するのはとても楽しかったです。これが私のウォークスルーです。
IntelliJ(v.13.1.4)でGradleビルドファイルを作成する方法に関するAからZのウォークスルーこのウォークスルーは、キーストアファイルの作成方法を理解していることを前提としています。このチュートリアルを機能させるには、キーストアファイルをappフォルダーに配置し、zipalign.exeファイルを 'SDK-ROOT \ tools'に配置する必要があります。このファイルは通常「SDK-ROOT \ build-tools」にあり、このフォルダーの下で最上位のapiフォルダーになります(アルファ版またはベータ版アルファ版をお勧めします)。
ここですぐにジャンプしたい人のために、gradleビルドファイルがあります。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 19
buildToolsVersion '20.0.0'
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
signingConfigs {
playstore {
keyAlias 'developers4u'
keyPassword 'thisIsNotMyRealPassword'
storeFile file('developers4u.keystore')
storePassword 'realyItIsNot'
}
}
buildTypes {
assembleRelease {
debuggable false
jniDebugBuild false
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
zipAlign true
signingConfig signingConfigs.playstore
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:support-v4:20.0.0'
implementation 'com.android.support:appcompat-v7:20.0.0'
}
このビルドファイル(上記)の一部をメニューオプションからビルドできます。ファイル/プロジェクト構造ここからファセットを選択し、[Android-Gradle(App)]をクリックします。ここから、「プロパティ」、「署名」、「フレーバー」、「ビルドタイプ」、「依存関係」のタブが表示されます。このウォークスルーでは、「署名」と「ビルドタイプ」を使用します。「ビルドタイプ」(名前セクション)に、ビルドタイプ構成を識別する任意の名前を入力し、他の4つのフィールドにキーストア情報を入力します(アプリストアの下のキーストアパスを設定します)。
「ビルドタイプ」の下の名前フィールドに「assembleRelease」という値を入力します。「デバッグ可能」はfalseに設定し、「Jniデバッグビルド」はfalseに設定し、「Run Proguard」をtrueに、「Zip Align」をtrueに設定します。これによりビルドファイルが生成されますが、上記の図とは異なり、後でビルドファイルにいくつかの項目を追加する必要があります。ここでのProGuardファイルの場所は、gradleビルドファイルで手動で設定されます。(上記のように)
後で追加する必要があるDSLコンテナは次のとおりです。
android {
....
compileSdkVersion 19
buildToolsVersion '20.0.0'
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
....
}
以下も追加する必要があります。
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:support-v4:20.0.0'
implementation 'com.android.support:appcompat-v7:20.0.0'
}
上記のDSLコンテナ(「依存関係」)は設定ファイルの一番下にある必要がありますが、Android DSLコンテナ内にはありません。IntelliJメニューから依存関係コンテナを構築するには、[ファイル/プロジェクト構造]を選択します。そこからファセットを再度選択し、次にAndroid-Gradle(app)を選択します。上記と同じ5つのタブが表示されます。「依存関係」タブを選択し、必要な依存関係を追加します。
これがすべて完了すると、このウォークスルーの上部にあるファイルと同様のGradleビルドファイルが表示されます。署名付きのzip調整リリースをビルドするには、Gradleタスクを開く必要があります。このウィンドウを表示するには、[表示]、[ツールウィンドウ]、[Gradle]の順に選択します。ここから「assembleAssembleRelease」をダブルクリックできます。これにより、デプロイ可能なAPKが生成されます。
リリースのコンパイル時に発生する可能性がある潜在的な問題は次のとおりです(これらに限定されません)。Gradleビルドファイルが間違った場所にある。Gradleビルドファイルは2つあります。1つはアプリケーションルートフォルダーにあり、もう1つはアプリケーションルートの下のappフォルダーにあります。後者を使用する必要があります。
また、糸くずの問題がある場合もあります。(注:Android Developer Studioは、IntelliJよりもLintの問題の発見に優れています。メニューオプションから署名済みAPKを生成しようとすると、このことに気付くでしょう)
lintの問題を回避するには、次のDSLコンテナをandroidコンテナ(上部)内に配置する必要があります。
android {
....
lintOptions {
abortOnError false
}
....
}
これをandroid DSLコンテナー内に置くと、ビルドフォルダー(アプリフォルダーの直下)にエラーファイルが生成されます。ファイル名は 'lint-results-release-fatal.html'のようにする必要があります。このファイルは、エラーが発生したクラス。生成される別のファイルは、lintエラーに関連付けられた「問題ID」を含むXMLファイルです。ファイル名は、 'lint-results-release-fatal.xml'のようにする必要があります。ファイルの上部近くのどこかに、「id = "IDOfYourLintProblem"」のようなノードが表示される「問題」ノードが表示されます。
この問題を修正するには、 'lint-results-assembleRelease-fatal.html'ファイルにリストされているプロジェクトのファイルを開き、Javaクラスファイルのクラス名のすぐ上に次のコード行を入力します。@SuppressLint( "IDOfYourLintProblem ")。「android.annotation.SuppressLint;」のインポートが必要になる場合があります。
したがって、Javaクラスファイルは次のようになります。
package com.WarwickWestonWright.developers4u.app.CandidateArea;
import android.annotation.SuppressLint;
... other imports
@SuppressLint("IDOfYourLintProblem")
public class SearchForJobsFragment extends Fragment {... rest of your class definition}
lintエラーの抑制が常に最良のアイデアであるとは限らないことに注意してください。lintエラーの原因となったコードを変更した方がよい場合があります。
発生する可能性のある別の問題は、Gradle HOME環境変数に環境変数を設定していない場合です。この変数の名前は「GRADLE_HOME」で、gradleホームディレクトリのパスを設定する必要があります。たとえば、「C:\ gradle-1.12」のようにします。「ANDROID_HOME」の環境変数を設定して、「YOUR- SDK-Root \ sdk '
これが完了したら、Gradleタスクウィンドウに戻り、assembleAssembleReleaseをダブルクリックします。
すべて成功した場合は、app \ build \ apkフォルダーに移動して、デプロイ可能なAPKファイルを見つけることができます。