如何安装Splunk Mint Gradle插件?

时间:2019-05-01 15:39:46

标签: android gradle splunk

根据Splunk MINT文档(https://docs.splunk.com/Documentation/MintAndroidSDK/5.2.x/DevGuide/Requirementsandinstallation),您必须手动下载Gradle插件工件并将其包含在您的项目中。

我已经成功地将该工件下载并部署到了Artifactory的本地实例,因为它已经以maven repo格式进行了归档。

为了测试集成,我只是创建了一个全新的项目并添加/应用了mint插件。从这里开始,Gradle同步失败,并出现以下错误:

Caused by: java.lang.NoSuchFieldError: javacTask
 at com.splunk.mint.gradle.android.plugin.utils.VariantUtilsKt.getJavaTask(VariantUtils.kt:13)
 at com.splunk.mint.gradle.android.plugin.api.AspectJTransform.setupVariant(AspectJTransform.kt:81)
 at com.splunk.mint.gradle.android.plugin.api.AspectJTransform$prepareProject$1.execute(AspectJTransform.kt:57)
 at com.splunk.mint.gradle.android.plugin.api.AspectJTransform$prepareProject$1.execute(AspectJTransform.kt:43)
 at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction$1$1.run(DefaultListenerBuildOperationDecorator.java:150)
 at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.reapply(DefaultUserCodeApplicationContext.java:58)
 at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction$1.run(DefaultListenerBuildOperationDecorator.java:147)
 at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
 at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
 at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
 at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
 at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
 at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
 at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction.execute(DefaultListenerBuildOperationDecorator.java:144)
 at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:91)
 at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:80)
 at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42)
 at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230)
 at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149)
 at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
 ... 126 more

环境:

  • Android Studio 3.4
  • 5.2级
  • Android Gradle插件3.4.0
  • Splunk薄荷插件5.2.5

我怀疑Splunk团队需要更新此插件以支持较新版本的Gradle。不幸的是,我无法降级到4.x以前的版本,因为该版本低于Android Studio支持的最低版本。

3 个答案:

答案 0 :(得分:4)

非常感谢我能工作5.2.5-即将放弃并使用另一个崩溃报告工具。

这就是我的方法。

步骤1 :为Gradle(mint-android-repo-5.2.5.zip)下载MINT插件存储库。

第2步:将zip文件解压缩到Android项目的“ app”文件夹中

第3步:如下修改您的应用Gradle构建文件(app / build.gradle):

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "org.example"
        minSdkVersion 24
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    ...
}

buildscript {
    repositories {
        maven {
            url uri('mint-plugin-repo-5.2.5')
        }
        mavenCentral()
    }
    dependencies {
        classpath 'com.splunk:mint-gradle-android-plugin:5.2.5'
    }
}

repositories {
    maven {
        url uri('mint-plugin-repo-5.2.5')
    }
}

dependencies {
    ...
    implementation 'com.splunk:mint-android-sdk:5.2.5'
}

感谢其他有帮助的答案。

我看了建议的video(重要的安装信息从3:21开始)...我也读了their Android documentation ...,最后的解决方法是删除他们的插件!

由于我是Mint / Splunk的新手(至少在此十年中),所以我不确定这样做的影响,但我进行了测试,并出现了应用程序崩溃并出现在仪表板中。

答案 1 :(得分:0)

我从链接http://download.splunk.com/misc/mint/mint-android-repo-5.1.0.zip中获得了较旧的版本 并用于检查其安装https://www.youtube.com/watch?v=vecdk2HUASw,至少它可以构建,所以我认为5.2版本有问题

答案 2 :(得分:0)

显示build.gradle。 我发现2.5.2可以工作,但是您必须添加到build.gradle应用模块而不是库模块中。 如果添加到库模块,它将无法正常工作。同样删除插件对我也有用。

我找到了一种在库中也使用Splunk的解决方案。基本上,您需要使用所有库中从uri导入文件的部分。为此,我将“ mint-plugin-repo-5.2.5”放入我的公共库中,然后在我的应用程序项目gradle中,转到父目录“ ../”,直到进入存储库目录,然后我将相对路径放置到我的公共库中的“ mint-plugin-repo-5.2.5”文件中(例如:“ ../../ MyLibrary / lib-module / mint-plugin-repo-5.2.5”)

在清单中没有PLUGIN,MultiDex enable和min / target API的情况下,我使它可以在项目的所有部分(1个模块应用程序+ 2个模块库)中正常工作

希望这很有帮助