Google Playサービス広告とgcmパッケージのみに依存するアンドロイドライブラリモジュールを作成しています。 jcenterのパッケージ作成時にオプションパッケージとしてマークすることをお勧めします。androidライブラリモジュールのgoogle-play-servicesライブラリをaarパッケージに含めるにはどうすればいいですか?
以下は、パッケージ作成時にpom.xmlに<optional>true</optional>
を含めるものです。
以下は、アンドロイドスタジオからアンドロイドライブラリのパッケージを作成するために使用しているものです。
また、ソースとjavadocsのjarを空のファイルとして作成して、私のレポをmaven-centralにも同期できるようにしました。そのためには、以下のスクリプトで何が更新されるのですか?
この./gradlew clean build generateRelease
は、現在実行中のパッケージスクリプトを実行するために現在使用しているものです。
apply plugin: 'maven'
def groupId = project.PUBLISH_GROUP_ID
def artifactId = project.PUBLISH_ARTIFACT_ID
def version = project.PUBLISH_VERSION
def localReleaseDest = "${buildDir}/release/${version}"
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath += files(ext.androidJar)
}
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
uploadArchives {
repositories.mavenDeployer {
pom.groupId = groupId
pom.artifactId = artifactId
pom.version = version
// Add other pom properties here if you want (developer details/licenses)
repository(url: "file://${localReleaseDest}")
}
}
task zipRelease(type: Zip) {
from localReleaseDest
destinationDir buildDir
archiveName "release-${version}.zip"
}
task generateRelease << {
println "Release ${version} can be found at ${localReleaseDest}/"
println "Release ${version} zipped can be found ${buildDir}/release-${version}.zip"
}
generateRelease.dependsOn(uploadArchives)
generateRelease.dependsOn(zipRelease)
artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}