Android Library Gradle版本JAR

马雷克·塞贝拉(Marek Sebera)

如何发布android-library项目的Jar包装
我发现,classes.jar位于下面build/bundles/release/classes.jar,我想这是正确的Jar包(包含*.class文件)。

有什么正式的方法可以将库发布为JAR而不是AAR?

编辑
我使用Gradle发行了Maven构件,并且我想连同AAR包一起发行JAR。因此具有签名,md5,清单...
JAR基于https://chris.banes.me/2013/08/27/pushing-aars-to-maven-central/

apply plugin: 'maven'
apply plugin: 'signing'

configurations {
    archives {
        extendsFrom configurations.default
    }
}

def sonatypeRepositoryUrl
if (isReleaseBuild()) {
    println 'RELEASE BUILD'
    sonatypeRepositoryUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
} else {
    println 'DEBUG BUILD'
    sonatypeRepositoryUrl = "https://oss.sonatype.org/content/repositories/snapshots/"
}

if(!hasProperty('nexusPassword')) {
    ext.set('nexusPassword', System.console().readPassword("\n\$ Type in password for Sonatype nexus account " + nexusUsername + ": "))
}

if(!signing.hasProperty('password')) {
    ext.set('signing.password', System.console().readPassword("\n\$ Type in GPG key password: "))
}

afterEvaluate { project ->
    uploadArchives {
        repositories {
            mavenDeployer {
                beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

                pom.artifactId = POM_ARTIFACT_ID

                repository(url: sonatypeRepositoryUrl) {
                    authentication(userName: nexusUsername, password: nexusPassword)
                }

                pom.project {
                    name POM_NAME
                    packaging POM_PACKAGING
                    description POM_DESCRIPTION
                    url POM_URL

                    scm {
                        url POM_SCM_URL
                        connection POM_SCM_CONNECTION
                        developerConnection POM_SCM_DEV_CONNECTION
                    }

                    licenses {
                        license {
                            name POM_LICENCE_NAME
                            url POM_LICENCE_URL
                            distribution POM_LICENCE_DIST
                        }
                    }

                    developers {
                        developer {
                            id "loopj"
                            name "James Smith"
                        }
                        developer {
                            id "smarek"
                            name "Marek Sebera"
                        }
                    }
                }
            }
        }
    }

    signing {
        required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
        sign configurations.archives
    }

    task androidJavadocs(type: Javadoc) {
        source = android.sourceSets.main.java.srcDirs
    }

    task androidJavadocsJar(type: Jar) {
        classifier = 'javadoc'
        from androidJavadocs.destinationDir
    }

    task androidSourcesJar(type: Jar) {
        classifier = 'sources'
        from android.sourceSets.main.java.srcDirs
    }

    artifacts {
        archives androidSourcesJar
        archives androidJavadocsJar
    }
}

使用

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

将仅打包Java文件,而不打包并针对android sdk链接

杰克·沃顿

虽然我还没有尝试将带有部署的工件上传到Sonatype(甚至本地存储库),但是几周前,当我试图解决相同的问题时,我还是想出了这个方法。

android.libraryVariants.all { variant ->
  def name = variant.buildType.name
  if (name.equals(com.android.builder.core.BuilderConstants.DEBUG)) {
    return; // Skip debug builds.
  }
  def task = project.tasks.create "jar${name.capitalize()}", Jar
  task.dependsOn variant.javaCompile
  task.from variant.javaCompile.destinationDir
  artifacts.add('archives', task);
}

然后运行以下命令:

./gradlew jarRelease

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不公开显示源代码的情况下使用gradle创建Android Library Jar?

来自分类Dev

使用Git的Android Studio:版本控制中的gradle-wrapper.jar

来自分类Dev

Using library in Android Studio - empty classes.jar

来自分类Dev

不受支持的Android Gradle版本

来自分类Dev

Android Studio Gradle版本增量

来自分类Dev

Android + Gradle 生成代码版本

来自分类Dev

Android API 和 Gradle 版本

来自分类Dev

如何在Android Library Gradle项目中包含依赖项?

来自分类Dev

如何使runProguard适用于android-library Gradle插件?

来自分类Dev

Gradle:未找到ID为“ android-library”的插件

来自分类Dev

是否可以将gradle Library项目集成到android项目

来自分类Dev

Android Studio-Gradle 1.5 --core-library选项

来自分类Dev

是否可以将gradle Library项目集成到android项目

来自分类Dev

Android NDK-无法加载库:Android 17及更低版本上的load_library

来自分类Dev

Gradle和Android:从Android Library Project获取软件包ID

来自分类Dev

Android Studio中的Gradle错误:找不到ID为'com.android.library'的插件

来自分类Dev

Android Studio Gradle构建“应用插件:'com.android.library'”:缺少文件

来自分类Dev

Android Maps Library问题

来自分类Dev

无法在Android Studio中升级Gradle版本

来自分类Dev

Android Studio 0.4.2,Gradle版本感到困惑

来自分类Dev

Android Studio gradle无法编译指定的版本

来自分类Dev

在Android Studio 2.0上更新Gradle版本

来自分类Dev

Gradle Android Realm版本升级错误

来自分类Dev

无法更新Android Gradle插件版本

来自分类Dev

android Gradle同步错误(匹配版本)

来自分类Dev

Cordova Android构建版本与Gradle的代码

来自分类Dev

与使用的Gradle版本不兼容的android studio版本

来自分类Dev

Android Gradle App和库jar冲突

来自分类Dev

Android Gradle从APK中排除了jar

Related 相关文章

  1. 1

    如何在不公开显示源代码的情况下使用gradle创建Android Library Jar?

  2. 2

    使用Git的Android Studio:版本控制中的gradle-wrapper.jar

  3. 3

    Using library in Android Studio - empty classes.jar

  4. 4

    不受支持的Android Gradle版本

  5. 5

    Android Studio Gradle版本增量

  6. 6

    Android + Gradle 生成代码版本

  7. 7

    Android API 和 Gradle 版本

  8. 8

    如何在Android Library Gradle项目中包含依赖项?

  9. 9

    如何使runProguard适用于android-library Gradle插件?

  10. 10

    Gradle:未找到ID为“ android-library”的插件

  11. 11

    是否可以将gradle Library项目集成到android项目

  12. 12

    Android Studio-Gradle 1.5 --core-library选项

  13. 13

    是否可以将gradle Library项目集成到android项目

  14. 14

    Android NDK-无法加载库:Android 17及更低版本上的load_library

  15. 15

    Gradle和Android:从Android Library Project获取软件包ID

  16. 16

    Android Studio中的Gradle错误:找不到ID为'com.android.library'的插件

  17. 17

    Android Studio Gradle构建“应用插件:'com.android.library'”:缺少文件

  18. 18

    Android Maps Library问题

  19. 19

    无法在Android Studio中升级Gradle版本

  20. 20

    Android Studio 0.4.2,Gradle版本感到困惑

  21. 21

    Android Studio gradle无法编译指定的版本

  22. 22

    在Android Studio 2.0上更新Gradle版本

  23. 23

    Gradle Android Realm版本升级错误

  24. 24

    无法更新Android Gradle插件版本

  25. 25

    android Gradle同步错误(匹配版本)

  26. 26

    Cordova Android构建版本与Gradle的代码

  27. 27

    与使用的Gradle版本不兼容的android studio版本

  28. 28

    Android Gradle App和库jar冲突

  29. 29

    Android Gradle从APK中排除了jar

热门标签

归档