javascript

git

python

java

github

django

c#

reactjs

loops

git-remote

system.out

git-reset

regex

email

string-parsing

object

git-branch

agile

devops

visual-studio

java-级联示例无法编译?

在外壳程序中,我在Im Patient / part1目录中键入了gradle cleanJar。 输出如下。 错误是“找不到org.apache.hadoop.mapred.JobConf的类文件”。 为什么无法编译?

:clean UP-TO-DATE
:compileJava
Download http://conjars.org/repo/cascading/cascading-core/2.0.1/cascading-core-2.0.1.pom
Download http://conjars.org/repo/cascading/cascading-hadoop/2.0.1/cascading-hadoop-2.0.1.pom
Download http://conjars.org/repo/riffle/riffle/0.1-dev/riffle-0.1-dev.pom
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.pom
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-parent/1.6.1/slf4j-parent-1.6.1.pom
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.pom
Download http://conjars.org/repo/thirdparty/jgrapht-jdk1.6/0.8.1/jgrapht-jdk1.6-0.8.1.pom
Download http://repo1.maven.org/maven2/org/codehaus/janino/janino/2.5.16/janino-2.5.16.pom
Download http://conjars.org/repo/cascading/cascading-core/2.0.1/cascading-core-2.0.1.jar
Download http://conjars.org/repo/cascading/cascading-hadoop/2.0.1/cascading-hadoop-2.0.1.jar
Download http://conjars.org/repo/riffle/riffle/0.1-dev/riffle-0.1-dev.jar
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar
Download http://conjars.org/repo/thirdparty/jgrapht-jdk1.6/0.8.1/jgrapht-jdk1.6-0.8.1.jar
Download http://repo1.maven.org/maven2/org/codehaus/janino/janino/2.5.16/janino-2.5.16.jar
/home/is_admin/lab/cascading/Impatient/part1/src/main/java/impatient/Main.java:50: error: cannot access JobConf
    Tap inTap = new Hfs( new TextDelimited( true, "\t" ), inPath );
                ^
  class file for org.apache.hadoop.mapred.JobConf not found
1 error
:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 22.599 secs
trans by 2020-08-12T03:35:32Z

Gradle构建空控制台obj

我正在尝试使用gradle堆栈中的示例获取gradle构建以在控制台上提示输入密码

当我有如下声明时:

def password = System.console().readLine("Enter keystore password ")

运行时出现错误

Cannot invoke method readLine() on null object

看来控制台以null的形式出现。我读到的内容需要Java 6,如果我进入命令提示符并键入java -version,则我正在运行Java(TM)SE运行时环境(内部版本1.6.0_27-b07)。

在Gradle的Github存储库中已跟踪了此问题:不能在Gradle守护进程中使用System.console()。

trans by 2020-08-11T16:51:19Z

java-Gradle:按版本分类覆盖传递依赖

在我的项目中声明的依赖项之一具有对configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> if (details.requested.group + ":" + details.requested.name == 'com.google.guava:guava') { details.useVersion "15.0:cdi1.0" //details.useTarget "com.google.guava:guava:15.0:cdi1.0" } } } 的传递性依赖关系。但是由于CDI问题已在3006874345085085076481中修复,因此部署在WAS / Weblogic上的应用程序无法正常工作(相同版本,但带有分类器),我需要 告诉gradle在构建和包装过程中使用此jar。 我试图弄清楚如何使用jar特定的版本分类器来消除此传递性依赖项。

尝试了以下方法:

  1. 显式添加了依赖性:configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> if (details.requested.group + ":" + details.requested.name == 'com.google.guava:guava') { details.useVersion "15.0:cdi1.0" //details.useTarget "com.google.guava:guava:15.0:cdi1.0" } } } .但是两个jar都包含在生成的WAR中。
  2. 显式添加了依赖性并定义了解决策略:

    configurations.all {
         resolutionStrategy.eachDependency { DependencyResolveDetails details ->
             if (details.requested.group + ":" + details.requested.name == 'com.google.guava:guava') {
                details.useVersion "15.0:cdi1.0"
                //details.useTarget "com.google.guava:guava:15.0:cdi1.0"
            }
        }
    }
    

    即使这样也不起作用。

  3. 定义了解决策略以检查和更改版本。

    configurations.all {
         resolutionStrategy.eachDependency { DependencyResolveDetails details ->
             if (details.requested.group + ":" + details.requested.name == 'com.google.guava:guava') {
                details.useVersion "15.0:cdi1.0"
                //details.useTarget "com.google.guava:guava:15.0:cdi1.0"
            }
        }
    }
    

    即使这样也不起作用。

需要您关于如何解决此问题的建议。

trans by 2020-08-11T15:56:53Z

gradle中的这些任务定义语法之间有什么区别?

一个)

task build << {  
  description = "Build task."  
  ant.echo('build')  
}

B)

task build {  
  description = "Build task."  
  ant.echo('build')  
}

我注意到,对于类型B,当键入gradle -t时,任务中的代码似乎已执行-即使列出所有各种可用任务,ant也会回显“ build”。 该描述实际上也显示为类型B。但是,对于类型A,列出可用任务时不执行任何代码,而执行gradle -t时不显示该描述。这两个文档之间似乎没有区别 语法(我发现),只有这样您才能以任何一种方式定义任务。

trans by 2020-08-11T12:10:22Z

java-IntelliJ不会终止使用grad构建的Spring Boot应用程序

我在Linux上使用IntelliJ 13.1,并尝试根据示例[http://spring.io/guides/gs/spring-boot/]构建基本的REST应用程序

当我从IntelliJ中执行目标bootRun时,将启动集成的tomcat服务器,并且一切正常。

10:09:35: Executing external task 'bootRun'...
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:findMainClass
:bootRun

但是停止执行不会影响gradle任务:

10:11:40: External task execution finished 'bootRun'.

我仍然可以在配置的端口上访问tomcat实例。 只有关闭IntelliJ才会破坏进程。

我搜索了这个主题,但找不到任何合理的答案。 我想知道这是否是

  • gradle问题(使用gradle包装器1.11版)
  • Linux问题(Ubuntu 12.04)
  • IntelliJ问题(IDEA 13.1.2)
  • Spring Boot问题(尝试从1.0.0.RELEASE到1.1.0.M2的不同版本)
trans by 2020-08-11T08:23:29Z

gradle-在存储库中找不到参数[]的方法jcenter()

我是Gradle和Bintray的新手。 我想发布此项目,以便Maven和SBT用户可以随时使用。 我不是该软件包的原始作者; 它似乎已被遗弃; 我只想发布当前的HEAD。

build.gradle是这样的:

bintrayUser=mslinn
bintrayKey=blahblah

build.gradle看起来像这样:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
    }
}
apply plugin: 'com.jfrog.bintray'

allprojects {
    apply plugin: 'idea'

    group = 'org.jfrog.example.bintray.gradle'
    version = '1.0'
}

subprojects {
    apply plugin: 'java'
    apply plugin: 'maven-publish'
    apply plugin: 'com.jfrog.bintray'

    sourceCompatibility = 1.6
    targetCompatibility = 1.6

    dependencies {
        testCompile 'junit:junit:4.7'
    }

    // custom tasks for creating source/javadoc jars
    task sourcesJar(type: Jar, dependsOn: classes) {
        classifier = 'sources'
        from sourceSets.main.allSource
    }

    task javadocJar(type: Jar, dependsOn: javadoc) {
        classifier = 'javadoc'
        from javadoc.destinationDir
    }

    // add javadoc/source jar tasks as artifacts
    artifacts {
        archives sourcesJar //, javadocJar
    }

    repositories {
        jcenter()
    }

    publishing {
        publications {
            mavenJava(MavenPublication) {
                if (plugins.hasPlugin('war')) {
                    from components.web
                } else {
                    from components.java
                }

                artifact sourcesJar {
                    classifier "sources"
                }

                artifact javadocJar {
                    classifier "javadoc"
                }
            }
        }
    }

    bintray {
        user = bintrayUser //this usually comes form gradle.properties file in ~/.gradle
        key = bintrayKey //this usually comes form gradle.properties file in ~/.gradle
        publications = ['mavenJava'] // see publications closure
        pkg { //package will be created if does not exist
            repo = 'Java-WebSocket'
//            userOrg = 'myorg' // an optional organization name when the repo belongs to one of the user's orgs
            name = 'Java-WebSocket'
            desc = 'Current HEAD of abandoned project'
            licenses = ['MIT']
            labels = ['websocket', 'java']
        }
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.10'
}

这是问题所在:

$ gradle bintrayUpload

FAILURE: Build failed with an exception.

* Where:
Build file '/var/work/experiments/websockets/Java-WebSocket/build.gradle' line: 3

* What went wrong:
A problem occurred evaluating root project 'Java-WebSocket'.
> Could not find method jcenter() for arguments [] on repository container.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

我正在寻找有关如何解决错误消息的建议,以及关于任何可能遇到的设置问题的建议,包括将该项目包含到JCenter中,以便所有人都可以使用已发布的bintray项目。

trans by 2020-08-11T00:59:01Z

构建自动化-用于多个项目构建的多个设置gradle文件

我有以下项目结构

-->Starnderd Location
        -->Project1 
           -->settings.gradle 
           -->build.gradle
           -->Subproject11
              -->build.gradle
           -->Subproject12
              -->build.gradle
        -->Project2 
           -->settings.gradle 
           -->build.gradle
           -->Subproject21
              -->build.gradle
           -->Subproject22
              -->build.gradle
        -->build.gradle
        -->settings.gradle

以上项目结构的思想是,我们有多个包含子项目的项目,每个项目都可以与其他项目具有依赖关系。 项目内部的子项目也可以依赖于同一项目中的其他子项目。 项目将在根目录的settings.gradle中指定。 每个项目中的settings.gradle也会说出该特定项目的子项目是什么。

我在根目录中的settings.gradle看起来像

include 'Project1',
         'Project2'

和Project1 settings.gradle看起来像

include 'SubProject11'
         'SubProject12'

其他depndecy订单在各自的build.gradle文件中定义如果我将gradle clean build安装在根位置(Standar位置)内,则似乎未在Project级别settings.gradle文件中使用配置。

我在这里做什么错了?

trans by 2020-08-11T00:42:18Z

在Android Gradle proj中复制APK文件

我试图将自定义任务添加到我的Android项目的build.gradle中,以将最终的APK和Proguard的publish复制到另一个目录中。 我的任务取决于assemble任务:

task publish(dependsOn: 'assembleDevDebug') << {
    description 'Copies the final APK to the release directory.'

    ...
}

我可以根据文档查看如何使用标准publish任务类型进行文件复制:

task(copy, type: Copy) {
    from(file('srcDir'))
    into(buildDir)
}

但是,前提是您知道要复制的文件的名称和位置。

如何查找作为publish任务的一部分而构建的APK文件的确切名称和位置? 这可以作为财产使用吗? 感觉好像我应该能够将文件声明为任务的输入,并将其声明为assemble任务的输出,但我的Gradle-fu不够强大。

我有一些自定义逻辑将版本号注入APK文件名,因此我的publish任务不能只是假设默认名称和位置。

trans by 2020-08-10T08:00:23Z

gradle-如何在安装新版本之前从设备自动卸载android应用

我正在将Android Studio与Gradle构建一起使用。 我在设备上测试我的应用程序,然后让Android Studio和Gradle构建应用程序并将其安装在设备上。 如何在安装新版本之前告诉Gradle或Android Studio从设备上卸载应用程序?

trans by 2020-08-10T07:07:48Z

用Gradle和Kotlin构建一个可自动执行的jar

为了入门,我编写了一个简单的kotlin源文件以及gradle脚本文件。但是我不知道如何将主函数添加到清单中,以便jar可以自执行。

这是我的build.gradle脚本:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.9.66'
    }
}
apply plugin: "kotlin"
repositories {
    mavenCentral()
}
dependencies {
    compile 'org.jetbrains.kotlin:kotlin-stdlib:0.9.66'
}

jar {
    manifest {
        attributes 'Main-Class': 'com.loloof64.kotlin.exps.ExpsPackage'
    }
}

这是我的com.loloof64.kotlin.exps.Multideclarations.kt

package com.loloof64.kotlin.exps

class Person(val firstName: String, val lastName: String) {
    fun component1(): String {
        return firstName
    }
    fun component2(): String {
        return lastName
    }
}

fun main(args: Array < String > ) {
    val(first, last) = Person("Laurent", "Bernabé")
    println("First name : $first - Last name : $last")
}

当我从终端(java -jar MYJar.jar)启动jar时,得到以下堆栈跟踪,说我缺少kotlin反射库类,实际上它们尚未添加到jar中。 似乎我在最终的jar中缺少了kotlin-compiler工件类,也缺少了kotlin-stdlib源代码,但是我不知道如何适应gradle构建。

$> java -jar build/libs/kotlin_exps.jar 

Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/reflect/jvm/internal/InternalPackage
    at com.loloof64.kotlin.exps.ExpsPackage.<clinit>(MultiDeclarations.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.reflect.jvm.internal.InternalPackage
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

我正在使用Kotlin 0.9.66和gradle 2.1

trans by 2020-08-10T05:30:25Z

java-在gradle脚本中跟踪每个任务的执行时间?

在gradle构建脚本中跟踪任务执行时间的最优雅的方法是什么? 在最佳情况下,将时间直接记录在任务名称的同一行或下一行

:buildSrc:testClasses (0.518 secs)
:fooBar (28.652 secs)
trans by 2020-08-09T20:12:33Z

android-Gradle不包括已发布的pom.xm中的依赖项

我有一个Gradle项目,我正在使用maven-publisher插件将我的android库安装到maven local和一个maven repo。

可以,但是生成的pom.xml不包含任何依赖项信息。 是否有解决方法可以包含该信息,还是我被迫回到maven插件并完成所需的所有手动配置?


经过研究,我意识到我没有告诉出版物依赖项在哪里,我仅指定输出/工件,所以我需要一种方法将此MavenPublication链接到依赖项,但是我还没有找到如何做到这一点。 文档。

------------------------------------------------------------
Gradle 1.10
------------------------------------------------------------

Build time:   2013-12-17 09:28:15 UTC
Build number: none
Revision:     36ced393628875ff15575fa03d16c1349ffe8bb6

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy:          2.2.0
JVM:          1.7.0_60 (Oracle Corporation 24.60-b09)
OS:           Mac OS X 10.9.2 x86_64

相关的build.gradle部分

//...
apply plugin: 'android-library'
apply plugin: 'robolectric'
apply plugin: 'maven-publish'

//...
repositories {
     mavenLocal()
     maven  {
         name "myNexus"
         url myNexusUrl
     }
     mavenCentral()
}

//...
android.libraryVariants
publishing {
    publications {
        sdk(MavenPublication) {
            artifactId 'my-android-sdk'
            artifact "${project.buildDir}/outputs/aar/${project.name}-${project.version}.aar"
        }
    }
    repositories {
        maven  {
            name "myNexus"
            url myNexusUrl
            credentials {
                username myNexusUsername
                password myNexusPassword
            }
        }
    }
}

生成的pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.example.android</groupId>
  <artifactId>my-android-sdk</artifactId>
  <version>gradle-SNAPSHOT</version>
  <packaging>aar</packaging>
</project>
trans by 2020-08-09T16:35:37Z

java-Gradle同步失败:无法找到方法

我尝试在Android Studio中导入项目。 导入时,我在Gradle中遇到了一个错误:

Gradle sync failed: Unable to find method 

'org.gradle.api.artifacts.Configuration.setExtendsFrom(Ljava/lang/Iterable;)Lorg/gradle/api/artifacts/Configuration;'.

我努力了 :

  • 重新下载依赖项并同步项目:失败(相同错误)。

  • 停止Gradle构建过程:失败(相同错误)。

  • 删除主目录中的.gradle:失败(相同错误)。

  • 使缓存无效并重新启动失败(相同的错误)。

  • 卸载并重新安装Android Studio和SDK:失败(相同错误)。

/build.grad了 :

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

/app/build.grad了

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

android {
    compileSdkVersion 17
    buildToolsVersion '20.0.0'
    defaultConfig {
        applicationId 'xxx.xxx.xxx'
        minSdkVersion 17
        targetSdkVersion 17
        versionCode 1
        versionName '1.0'
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        buildPB {
            debuggable false
            jniDebuggable false
            renderscriptDebuggable false

            zipAlignEnabled true
        }
    }
    productFlavors {
    }
//    lintOptions {
//        abortOnError false
//    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // You must install or update the Support Repository through the SDK manager to use this dependency.
    compile ('org.simpleframework:simple-xml:2.7.1') {
        exclude module: 'stax'
        exclude module: 'stax-api'
        exclude module: 'xpp3'
    }
    compile 'net.sf.opencsv:opencsv:2.3'
    compile 'de.greenrobot:greendao:1.3.7'
    // You must install or update the Support Repository through the SDK manager to use this dependency.
//    compile 'com.android.support:support-v4:19.+'
}
trans by 2020-08-09T05:03:41Z

android-具有Powerm的AndroidStudio / Gradle

我找不到有关如何使用Android Studio / Gradle设置powermock的任何信息。 我尝试过的所有操作都导致生成异常。

有人能显示出正确的方法吗?

谢谢。

trans by 2020-08-06T04:03:44Z

java-Gradle排除依赖项内的特定文件

我想知道是否仍然要排除下载依赖项(不是传递性依赖项)内的特定文件。

我将一个构建从Ant + Ivy切换到Gradle,而这是在Ivy之前完成的。 我问是因为我有一个单独的依赖项,其中包含我们要下拉的Artifactory中许多已编译的wsdl jar,但是我不想下载依赖项中的所有jar。

在Ivy中,其设置如下:

这6个工件在一个仓库repo / dep.location / example / 7.3 / jar中发布到Artifactory。

<publications>
    <artifact name="foo-1-0" type="jar" />
    <artifact name="foo-1-0-async" type="jar" />
    <artifact name="foo-1-0-xml" type="jar" />
    <artifact name="bar-1-0" type="jar" />
    <artifact name="bar-1-0-async" type="jar" />
    <artifact name="bar-1-0-xml" type="jar" />
</publications>

这就是我仅检索六个工件中的两个工件的方式。

<dependency org="dep.location" name="example" rev="7.3"
            conf="compile,runtime">
    <include name="foo-1-0-async"/>
    <include name="foo-1-0-xml"/>
</dependency>

当前,如果我尝试在Gradle中执行类似的操作,则忽略排除项,并下载所有六个工件。

compile (group:"dep.location", name:"example", version:"7.3")
{
    exclude module:'foo-1-0-xml'
    exclude module:'bar-1-0'
    exclude module:'bar-1-0-async'
    exclude module:'bar-1-0-xml'
}

我正在使用Gradle 1.8版。

trans by 2020-08-03T08:47:18Z

如何在IDEA中下载Gradle项目的依赖源?

看来eclipse插件使用以下机制来执行此操作:

apply plugin: 'java'
apply plugin: 'eclipse'

eclipse {
    classpath {
       downloadSources=true
    }
}

但是我找不到这个想法插件的相应选项。 我想念什么?

这是build.gradle文件:

apply plugin: 'groovy'
apply plugin: 'idea'

repositories {
    mavenCentral()
    mavenRepo name: "Grails", url: "http://repo.grails.org/grails/repo/"
}

dependencies {
    groovy 'org.codehaus.groovy:groovy-all:2.0.4'
    compile 'org.slf4j:slf4j-log4j12:1.6.6', 'postgresql:postgresql:9.1-901.jdbc4', 'net.sourceforge.nekohtml:nekohtml:1.9.16'
    ['core', 'hibernate', 'plugin-datasource', 'plugin-domain-class'].each { plugin ->
        compile "org.grails:grails-$plugin:2.1.0"
    }
}

idea {
    module {
        downloadJavadoc = true
        downloadSources = true
    }
}

// Fat Jar Option (http://docs.codehaus.org/display/GRADLE/Cookbook#Cookbook-Creatingafatjar)
jar {
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.0'
}
trans by 2020-08-02T09:27:15Z

Android上使用不同键的Gradle签名风格

我的Android应用程序有很多风格,除了一种之外,我都希望所有人都使用相同的键。 有一个需要使用其他密钥。

如何仅对应用程序的1种样式(但在相同的构建类型,例如“发行版”)中覆盖build.gradle

  • 我希望默认情况下所有版本都使用主发行版配置。
  • 我只想改写1种口味
  • 我希望能够使用单个build.gradle命令运行所有发行版

最后一点很重要,因为我目前有超过120种不同的口味并在不断发展。 为了分别自定义每种口味,需要做很多额外的工作。


我尝试过的相关文章:

从单个构建类型生成使用不同密钥签名的多个构建

  • 这需要针对每种口味进行配置
  • 它似乎并没有使用我的自定义build.gradle

用gradle签名产品口味

  • 接受的解决方案不起作用(对我来说)
  • 根据评论,可以通过将build.gradle放在productFlavors内来实现,但我不知道该怎么做。

在Gradle产品口味上调试签名配置

  • 如博客文章中所述:使用Gradle构建Android应用的多个版本
  • 它实际上不起作用,它完美地起作用
  • 但是它不能很好地适应119种口味

总体而言,每个解决方案似乎仍使用默认的发行版配置,而不是我的自定义配置。


我的build.gradle的重要部分如下所示:

signingConfigs {
    releaseConfig {
        storeFile file('key')
        storePassword "pass"
        keyAlias "alias"
        keyPassword "pass"
    }

    custom {
        storeFile file('custom_key')
        storePassword "pass"
        keyAlias "alias"
        keyPassword "pass"
    }
}

productFlavors {
    apple {
        applicationId "demo.apple"
    }
    banana {
        applicationId "demo.banana"
    }

    // def customConfig = signingConfigs.custom
    custom {
        applicationId "custom.signed.app"
        // signingConfig customConfig
    }
 }


buildTypes {
    debug {
        applicationIdSuffix ".debug"
    }
    release {
         signingConfig signingConfigs.releaseConfig
         // productFlavors.custom.signingConfig signingConfigs.custom
    }
}
trans by 2020-08-01T21:43:51Z

“指定的Android SDK Build Tools版本(26.0.0)被忽略...”

在Android Studio 3中,我看到了以下问题:

指定的Android SDK生成工具版本(26.0.0)将被忽略,因为 它低于Android Gradle的最低支持版本(26.0.2) 插件3.0.0。

将使用Android SDK Build Tools 26.0.2。

要取消显示此警告,请从以下位置删除“ buildToolsVersion '26 .0.0'” 您的build.gradle文件,作为每个版本的Android Gradle插件 现在具有构建工具的默认版本。

问题是,因为这些是具有buildToolsVersion的第三方/供应商模块,所以我不能在不分叉每个子模块的情况下修改它们的build.gradle。

有没有办法设置一个全局buildToolsVersion,它将覆盖所有子build.gradles?

trans by 2020-08-01T09:17:11Z

Java-如何下载较旧的Google Play服务?

我将使用android emulator/android studio 0.4.0和androidgoogle maps v2。要求之一是将项目google-play-services_lib放到版本低于/等于emulator的版本中。 我的仿真器可与api lv 17一起使用。问题是,如何下载比android sdk manager下载的版本更旧的google-play-services_lib

trans by 2020-07-31T05:36:53Z

Gradle警告:缺少groovy返回语句

我的gradle构建文件中出现以下警告

并非所有执行路径都返回值

该检查报告在方法返回的末尾缺少常规返回语句

这是该文件中的代码

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "ac.company.srikar.quickhelpindia"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        android {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
    }
}

任何人都可以说出这里的问题是什么以及如何消除此警告。

trans by 2020-07-31T01:31:42Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 下一页 共17页