【问题标题】:AAR / JAR not get generated with Android Studio 3.0 Canary 7Android Studio 3.0 Canary 7 无法生成 AAR / JAR
【发布时间】:2017-07-21 05:40:52
【问题描述】:

所以,标题几乎概括了我的问题。谁知道怎么修它?上次我构建 apk,它在 AS 2.X 上运行良好,但是,我现在正在使用 Kotlin 进行开发,所以我必须使用 AS 3.0。

我用的是 AS 3.0 Canary 7(这个项目是新项目)

这是我图书馆中的虚拟类(存储在“域”.library.mylibrary 中)

class Test {
    fun hello(): String {
        return "hello"
    }
}

这是我的(我的图书馆)gradle:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.0"


    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"

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

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

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    implementation 'com.android.support:appcompat-v7:26.0.0-beta2'
    testImplementation 'junit:junit:4.12'

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" //Declared in project level gradle: ext.kotlin_version = '1.1.3-2'
}

我的 gradlew.bat clean build --info 日志:https://pastebin.com/bfTZ5s4e

【问题讨论】:

  • 您的课程存储在哪里。发布整个路径(相对于您的项目)
  • 请同时运行命令./gradlew clean build --info 并附加日志。
  • @guenhter 好的等等
  • @MosesAprico 还将依赖项中的 compile 替换为 implementation
  • @guenhter gradlew.bat 完成后会自动关闭。如何保留?

标签: android kotlin aar android-studio-3.0


【解决方案1】:

Android Studio 默认不生成 jar,而是生成一个 AAR 文件。如果你想得到一个jar输出,你需要在你的mylibrary/gradle.build文件之上实现apply plugin: 'maven-publish'并阅读以下文档:Chapter 36. Maven Publishing (new)

另一个注意事项是,我建议您不要在您的发布工件上直接使用 ProGuard,而是提供一个消费者 ProGuard 文件并让您的库的用户处理该任务,否则他们将很难引用混淆代码。阅读我对此here的回答

虽然 build 任务可能会生成输出,但众所周知,assemble 任务(或 assembleRelease)会生成 aar 输出.

尝试运行以下命令:

./gradlew clean assembleRelease

如果我没记错的话,请检查/mylibrary/build/outputs/apk/release/ 中的输出。

【讨论】:

  • 仍然只能看到 Studio 3.1.1 的 aar 文件
猜你喜欢
  • 2017-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多