21

現在、私は日食で働いています。Android Studio に移行したいのですが、最初にこれを理解する必要があります: 新しい Android ビルド システムを使用してプロジェクト用の jar を作成するにはどうすればよいですか?

私のプロジェクトはライブラリとして設定されていますが、プロジェクトには Java ファイルしかありません。これをライブラリとしてエクスポートする必要はありません。別のプロジェクトに簡単にドロップできるように、ファイルを .jar としてエクスポートしたいと考えています。

更新 これが私のgradleファイルです。Androidプラグインと互換性がないため、行を追加できません。apply plugin javajar タスクは、Android プラグインに既に含まれています。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

sourceSets {
    main  {
        java {
            srcDir 'src/main/java'
        }
    }
}
task jar(type: Jar) {
    from sourceSets.main.java
}

私は次のようにスクリプトを実行しています: gradle clean jar

タスクを実行しても何も起こりません...なぜですか? 私は何が欠けていますか?

更新 2

以下は、私が使用している新しいgradleビルドファイルです。android studio の最新の更新による gradle バージョンの変更に注意してください。単純な場合でも、このエラーが発生しclean buildます。Project directory '<my_workspace_path>\Core2Project\build.gradle' is not a directory. このエラーは、ビルド スタジオでのみ発生します。IDEから実行したときではありません。別のプロジェクトでも同じ問題に遭遇しました。ビルド スタジオで使用するファイル名を指定すると、このエラーが発生することが判明しました。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }

    sourceSets {
        main  {
            java {
                srcDir 'src/main/java'
            }
        }
    }
}


task jar(type: Jar) {
    from android.sourceSets.main.java
}
4

2 に答える 2

17

新しいバージョンの gradle と android gradle プラグインを使用すると、以下を .xml ファイルに追加するだけで済みますbuild.gradle

task jar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
}

そして走るgradle clean compileReleaseJava jar

gradle プラグインの古いバージョンでは、sourceSets要素は の中にある必要がありますandroid:

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }

    sourceSets {
        main  {
            java {
                srcDir 'src/main/java'
            }
        }
    }
}

次に、jarタスクは次を参照する必要がありますandroid.sourceSets

task jar(type: Jar) {
    from android.sourceSets.main.java
}
于 2013-07-18T20:20:25.473 に答える
-2

ここで意味する「jar」タスクは、Java プラグインによって導入されます。を使用してgradle Javaプラグインを適用できます

apply plugin:'java'

Java プラグインの詳細については、http: //www.gradle.org/docs/current/userguide/tutorial_java_projects.html#N103C6 の Gradle ユーザーガイドの Java プラグインに関する章を参照してください。

乾杯、

レネ

于 2013-06-21T05:17:01.477 に答える