gradleパッケージ指定パッケージとクラスのjar
1581 ワード
sdk生成jarを開発するにはeclipseで比較的扱いやすく、classをエクスポートする際にどこでエクスポートするかを指定すればよいが、Android Studioで開発する際にjarをエクスポートするのはそんなに簡単ではなくgradleスクリプトを書く必要があるが、gradleスクリプトの入門コストはやはり高く、ネット上ではjarをパッケージするスクリプトの参考もあるが、classesを生成することが多い.jarの名前を変更して生成します.このように生成されたjarはプロジェクト内のすべてのクラスを含み、jarを生成するためにパッケージとクラスを指定する必要がある場合があります.次はリファレンススクリプトです.
在build.gradleを書くと、コマンドラインでgradle makeJarを実行すればbuild/libsディレクトリの下でjarを見つけることができます.
パッケージの下にあるサブパッケージまたはファイルのみを打つ場合は、次の例を参照してください.
task clearJar(type: Delete) {
delete 'libs/sdk.jar'
}
task makeJar(type:org.gradle.api.tasks.bundling.Jar) {
// jar
baseName 'sdk'
// class
from('build/intermediates/classes/debug/org/cmdmac/cloud/pluginsdk/')
// jar
into('org/cmdmac/cloud/pluginsdk/')
//
exclude('test/', 'BuildConfig.class', 'R.class')
// R$
exclude{ it.name.startsWith('R$');}
}
makeJar.dependsOn(clearJar, build)
在build.gradleを書くと、コマンドラインでgradle makeJarを実行すればbuild/libsディレクトリの下でjarを見つけることができます.
パッケージの下にあるサブパッケージまたはファイルのみを打つ場合は、次の例を参照してください.
task makeSdkJar(type:org.gradle.api.tasks.bundling.Jar) {
baseName 'pluginsdk'
// org.cmdmac org.cmdmac.pluginsdk.impl org.cmdmac.gamecenter,
from('build/intermediates/classes/debug/org/cmdmac/') {
include 'pluginsdk/impl'
include 'gamecenter'
}
into('org/cmdmac/')
// exclude('R.class')
// exclude{ it.name.startsWith('R$');}
}