如何在Android Studio中将库导出到Jar?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (48)

我已经下载了一些库资源,并希望将其作为使用Android Studio的Jar文件导出。有没有办法使用Android Studio导出到jar文件?

编辑:

我想作为jar导出的库是一个Android库。它被称为“StandOut”,可以从GitHub下载。 https://github.com/pingpongboss/StandOut

提问于
用户回答回答于

首先,在Android Studio中构建库或从gradle build库的根目录下发布命令行。

这将导致<yourlibroot>/libs/build/yourlib.aar文件。

这个aar文件是库的二进制表示,可以添加到你的项目中,而不是作为依赖项目的库。

要将aar文件添加为依赖项,你必须将其发布到maven central或本地maven存储库,然后将aar文件引用到项目gradle.build文件中。

但是,这一步有点复杂。我在这里找到了一个很好的解释:

http://www.flexlabs.org/2013/06/using-local-aar-android-library-packages-in-gradle-builds

用户回答回答于

1.结帐库存储库

在这种情况下,这是一个Volley图书馆

2.在Android Studio中导入库。

我使用Android Studio 0.3.7。我在那一步遇到了一些问题,即gradle在我能够导入Volley库源代码之前,我不得不从新的android项目复制文件夹,这可能会因您使用的源代码而异。

3.修改你的build.gradle文件

// If your module is a library project, this is needed
//to properly recognize 'android-library' plugin
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.3'
    }
}

apply plugin: 'android-library'

android {
    compileSdkVersion 17
    buildToolsVersion = 17

    sourceSets {
        main  {
            // Here is the path to your source code
            java {
                srcDir 'src'
            }
        }
    }
}

// This is the actual solution, as in https://stackoverflow.com/a/19037807/1002054
task clearJar(type: Delete) {
    delete 'build/libs/myCompiledLibrary.jar'
}

task makeJar(type: Copy) {
    from('build/bundles/release/')
    into('build/libs/')
    include('classes.jar')
    rename ('classes.jar', 'myCompiledLibrary.jar')
}

makeJar.dependsOn(clearJar, build)

4. gradlew makeJar从您的项目根目录运行命令。

我的情况下,我不得不从新的Android项目复制gradlew.batgradle文件到我的库项目根目录。你应该myCompiledLibrary.jarbuild\libs目录中找到你编译的库文件。

扫码关注云+社区