gpt4 book ai didi

android - 如何通过包含依赖项的 gradle 制作 jar

转载 作者:行者123 更新时间:2023-12-03 05:32:56 26 4
gpt4 key购买 nike

我有一个用 kotlin 编写的模块,现在我必须把这个模块变成一个 jar。我必须将 kotlin-STLib-1.3.50.jar 包含到我的 jar 中,以便它可以在 android 中成功运行。但有一个问题是调用我的jar的应用程序也是用kotlin编写的,并且它具有不同版本的kotlin-stdlib。那么我该如何解决呢?

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
plugins {
id('com.android.library')
id('kotlin-android')
id('kotlin-android-extensions')
}


android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 27
targetSdkVersion 28
versionCode 1
versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

sourceSets {
main {
aidl.srcDirs = ['src/main/aidl']
}
}

configurations.all {
resolutionStrategy.force 'com.android.support:support-annotations:26.1.0'
}

}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
// implementation 'com.android.support:appcompat-v7:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.41'
implementation 'com.squareup.okio:okio:2.2.2'
implementation 'androidx.fragment:fragment:1.0.0'
implementation 'com.nex3z:notification-badge:1.0.2'
implementation files('libs/framework.jar')
implementation 'com.nex3z:notification-badge:1.0.2'
implementation 'com.android.support:support-annotations:28.0.0'
}
repositories {
mavenCentral()
}



task createJar(type: Jar){
println(configurations.compile.asPath)
archiveName 'wifisdkn_7_4_2.jar'
from('build/intermediates/javac/release/compileReleaseJavaWithJavac/classes')
from('build/tmp/kotlin-classes/release')

from {
(zipTree('/home/mi/.gradle/caches/transforms-2/files-2.1/d6bc0306f3ac2741d6328b688ed7b145/jars/classes.jar'))
}

from {
(zipTree('/home/mi/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/2.2.2/36f483536153f15339a8b48d508e22be7c9c531a/okio-2.2.2.jar'))
}


from{
(zipTree('/home/mi/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.41/e24bd38de28a326cce8b1f0d61e809e9a92dad6a/kotlin-stdlib-1.3.41.jar'))
}

destinationDir = file('build/libs')
}

createJar.dependsOn(build)

最佳答案

您不必为此编写任何代码。只需按照以下步骤操作:

  • 打开 Gradle 项目 上的 Pane 右侧

    Gradle projects pane
  • 转到要为其构建 jar 的模块。展开任务节点 .

    Task node
  • 展开构建 文件夹并双击建立行动。

    build action
  • 构建过程将开始。该过程完成后,将生成 JAR/AAr。
  • 转到模块目录,然后按照路径构建 -> 库 -> .jar
  • 关于android - 如何通过包含依赖项的 gradle 制作 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58298820/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com