简体   繁体   English

使用deployGate gradle插件构建Android Studio项目

[英]Android Studio project build with deployGate gradle plugin

I just started using DeployGate with my Android application in Android Studio and I want to use the gradle plugin , to upload my new versions (I think it is for that, or had I misunderstood it?). 我刚刚开始将DeployGate与我在Android Studio中的Android应用程序一起使用,并且我想使用gradle插件上传我的新版本(我认为是这样做的,还是我误解了?)。

I finally achieved that my project build successful with my modified build.gradle (Module:app): 我终于通过修改后的build.gradle(Module:app)成功实现了项目构建:

apply plugin: 'deploygate'
apply plugin: 'com.android.application'

deploygate {
    userName = "[myUsername]" //yes, I replaced it with my own
    token = "[myAPIKey]"      // also
    apks {
        release {
            sourceFile = file("C:\\AndroidStudioProjects\\MyApp\\app\\app-release.apk")
        }

        debug {
            sourceFile = file("C:\\AndroidStudioProjects\\MyApp\\app\\build\\outputs\\apk\\app-debug.apk")

            //Below is optional
            //message = "test upload2 sample"
            //visibility = "public" 
            //distributionKey = "[distribution_key]"
            //releaseNote = "release note sample"
        }
    }
}

android {
    compileSdkVersion 23
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "bendaf.myapp"
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 13
        versionName "1.2.1"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.deploygate:sdk:3.1'
}

but when I try to execute the command gradle uploadDeployGate in terminal it sais BUILD FAILED . 但是当我尝试在终端中执行命令gradle uploadDeployGate ,它说BUILD FAILED (I am not too experienced with gradle, so am I doing it right?) (我不太熟悉gradle,所以我做对了吗?)

my stacktrace is: 我的堆栈跟踪是:

    * Exception is:             
    org.gradle.api.GradleScriptException: A problem occurred evaluating project ':app'.
        at     org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:54)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:190)
        at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:39)
        at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
        at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:521)
        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:82)
        at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:31)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:129)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin [id 'com.android.application']
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyPlugin(DefaultObjectConfigurationAction.java:117)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:36)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:80)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:131)
        at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:37)
        at org.gradle.api.Project$apply$0.call(Unknown Source)
        at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.groovy:34)
        at org.gradle.api.Script$apply$0.callCurrent(Unknown Source)
        at build_78pi66j0mnhjns6vp3krggobhd.run(C:\AndroidStudioProjects\VivagoDatatransmission\app\build.gradle:25)
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
        ... 31 more         
Caused by: org.gradle.tooling.BuildException: Gradle version 2.2 is required. Current version is 2.1. If using the gradle wrapper, try editing the distributionUrl in C:\An
droidStudioProjects\VivagoDatatransmission\gradle\wrapper\gradle-wrapper.properties to gradle-2.2-all.zip
        at com.android.build.gradle.BasePlugin.checkGradleVersion(BasePlugin.groovy:436)
        at com.android.build.gradle.BasePlugin.configureProject(BasePlugin.groovy:265)
        at com.android.build.gradle.BasePlugin$_apply_closure1.doCall(BasePlugin.groovy:252)
        at com.android.build.gradle.BasePlugin$_apply_closure1.doCall(BasePlugin.groovy)
        at com.android.build.gradle.internal.profile.SpanRecorders$2.call(SpanRecorders.groovy:52)
        at com.android.builder.profile.ThreadRecorder$1.record(ThreadRecorder.java:48)
        at com.android.build.gradle.internal.profile.SpanRecorders.record(SpanRecorders.groovy:54)
        at com.android.build.gradle.BasePlugin.apply(BasePlugin.groovy:251)
        at com.android.build.gradle.AppPlugin.super$2$apply(AppPlugin.groovy)
        at com.android.build.gradle.AppPlugin.apply(AppPlugin.groovy:66)
        at com.android.build.gradle.AppPlugin.apply(AppPlugin.groovy)
        at org.gradle.api.internal.plugins.DefaultPluginContainer.providePlugin(DefaultPluginContainer.java:188)
        at org.gradle.api.internal.plugins.DefaultPluginContainer.addPluginInternal(DefaultPluginContainer.java:137)
        at org.gradle.api.internal.plugins.DefaultPluginContainer.apply(DefaultPluginContainer.java:103)
        at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyPlugin(DefaultObjectConfigurationAction.java:115)
        ... 40 more         

According to the error message the problem is in my gradle-wrapper.properties, but it have the right gradle version, I think: 根据错误消息,问题出在我的gradle-wrapper.properties中,但是我认为它具有正确的gradle版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

so what is the problem here? 那么这是什么问题呢? Or am I doing something wrong? 还是我做错了什么? How should I upload the app automatically to DeployGate? 如何将应用程序自动上载到DeployGate? Thanks, for the answer. 感谢您的回答。

You are running globally-installed gradle command which doesn't respect gradle-wrapper.properties you edited. 您正在运行全局安装的gradle命令,该命令不遵守您编辑的gradle-wrapper.properties Instead, you need to run gradlew command. 相反,您需要运行gradlew命令。

Gradle wrapper is the preferred way of starting a Gradle build that allows you to run a specific version of Gradle for each project. Gradle包装器是启动Gradle构建的首选方法 ,允许您为每个项目运行特定版本的Gradle。 With the wrapper, all you have to do to build your project is: 使用包装器,构建项目所需要做的就是:

  1. Checkout the repository 检出存储库
  2. Run gradlew 运行gradlew

That's all. 就这样。 You don't even need to install Gradle beforehand, the wrapper takes care of everything, so you can build your application anywhere and easily migrate into continuous integration. 您甚至不需要预先安装Gradle,包装器将处理所有事情,因此您可以在任何地方构建应用程序并轻松迁移到持续集成中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM