2016-10-13 13 views
0

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 
} 

答えて

0

答えを検索した後、完全に動作しています。

上記のgradleファイルを追加して、jcenterのパッケージを作成してください。

最後に、google-play-service広告とgcmをオプションとしてプロジェクトライブラリモジュールのビルドフォルダにzipファイルがあります。

これは、ライブラリを構築するために使用されたバージョンのアプリで、Google Playサービスのバージョンを使用する際に役立ちます。

def deployer = uploadArchives.repositories.mavenDeployer 

[deployer]*.pom*.whenConfigured { 
    pom -> pom.dependencies.find {dep -> dep.groupId == 'com.google.android.gms' && dep.artifactId == 'play-services-ads' }.optional = true 
} 
[deployer]*.pom*.whenConfigured { 
    pom -> pom.dependencies.find {dep -> dep.groupId == 'com.google.android.gms' && dep.artifactId == 'play-services-gcm' }.optional = true 
} 
関連する問題