如何将Android库导出为jar?

时间:2018-06-29 04:22:38

标签: android android-studio jar

之所以需要这个原因是因为我试图解决我所知道的是Xamarin的一个错误,即它并不总是关闭流并因此不写入某些内容提供程序。 technique是创建一个jar,然后运行脚本C#ifiy,并将其导出到dll。这就是为什么我需要一个罐子。

最初,我通过创建Java库来尝试此操作,但由于我需要访问各种android程序包(例如android.Net),因此无法正常工作。因此,尽管我确实按照these的说明为Java库创建了一个jar(Abhinav Tyagi的回答),但我似乎无法使它适用于Android库。对于一个Android库,它说它运行了Create Jar脚本,但我看不到。

要清楚,这就是我想变成的罐子:

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

使用Android Studio导出jar文件

从存储库中签出库源代码。

在您的android studio中导入结帐库。

修改build.gradle

如果您当前的模块是一个库项目,那么您需要正确识别“ android-library”插件,如下所述。

apply plugin: 'com.android.library'
android {
    compileSdkVersion 'Google Inc.:Google APIs:16'
    buildToolsVersion "23.0.0"
    defaultConfig {
        minSdkVersion 13
        targetSdkVersion 23
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile 'com.android.support:support-v13:23.0.0'
}
task makeJar(type: Copy) {
    from('build/intermediates/bundles/release/')
    into('build/outputs/')
    include('classes.jar')
    rename ('classes.jar', 'myLib.jar')
    into('release/') //you can change this directory where you want to copy your .jar
}
task clearJar(type: Delete) {
    delete 'build/libs/myLib.jar'
}



apply plugin: 'com.android.library'
android {
    compileSdkVersion 'Google Inc.:Google APIs:16'
    buildToolsVersion "23.0.0"
    defaultConfig {
        minSdkVersion 13
        targetSdkVersion 23
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile 'com.android.support:support-v13:23.0.0'
}
task makeJar(type: Copy) {
    from('build/intermediates/bundles/release/')
    into('build/outputs/')
    include('classes.jar')
    rename ('classes.jar', 'myLib.jar')
    into('release/') //you can change this directory where you want to copy your .jar
}
task clearJar(type: Delete) {
    delete 'build/libs/myLib.jar'
}

运行gradlew制作jar。 要生成.jar,请执行以下步骤,

打开终端。

移动到项目的根目录。

调用在build.gradle中添加的makejar函数

示例:-> D:\ Users \ MyWorkspace \ project> gradlew makejar

完成上述所有步骤后,您将在发行文件夹下找到“ myLib.jar”。