web-dev-qa-db-fra.com

invokedynamic requiert --min-sdk-version> = 26

Aujourd'hui, j'ai téléchargé la version studio 3.0 beta 2.0, après avoir tenté d'y ouvrir un projet existant et rencontré quelques difficultés, la plupart d'entre elles pouvant être résolues à l'aide de Google et de Stack Overflow, mais je ne peux pas le résoudre.

Error:Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.
> com.Android.build.api.transform.TransformException: org.gradle.tooling.BuildException: com.Android.dx.cf.code.SimException: invalid opcode ba (invokedynamic requires --min-sdk-version >= 26)

Publier également mon diplôme d'application

apply plugin: 'com.Android.application'
   Android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"

defaultConfig {
    applicationId "com.intersoft.snappy"
    minSdkVersion 19
    targetSdkVersion 22
    multiDexEnabled true
    versionCode 1
    versionName "1.0"
}
buildTypeMatching 'dev', 'debug'
buildTypeMatching 'qa', 'debug'
buildTypeMatching 'rc', 'release'
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
    }
}
sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] 
} }
packagingOptions {
    exclude 'META-INF/DEPENDENCIES.txt'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/dependencies.txt'
    exclude 'META-INF/LGPL2.1'
}
}
repositories {
mavenCentral()
mavenLocal()
jcenter()
maven { url "https://plugins.gradle.org/m2/" }
maven { url "https://s3.amazonaws.com/repo.commonsware.com" }
maven { url "https://jitpack.io" }
maven { url 'https://dl.bintray.com/ashokslsk/CheckableView' }
maven { url "https://maven.google.com" }

}
Android {
useLibrary 'org.Apache.http.legacy'
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.Android.support:appcompat-v7:26.0.1'
implementation 'com.github.mrengineer13:snackbar:1.2.0'
implementation 'com.Android.support:recyclerview-v7:26.0.1'
implementation 'com.Android.support:cardview-v7:26.0.1'
implementation 'com.Android.support:design:26.0.1'
implementation 'com.Android.support:percent:26.0.1'
implementation 'dev.dworks.libs:volleyplus:+'
implementation 'com.google.guava:guava:21.0'
implementation 'com.facebook.fresco:fresco:1.0.1'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.wdullaer:materialdatetimepicker:3.1.1'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.github.stfalcon:frescoimageviewer:0.4.0'
implementation 'com.github.piotrek1543:CustomSpinner:0.1'
implementation 'com.Android.support:multidex:1.0.2'
implementation 'com.github.satyan:sugar:1.4'
implementation 'com.hedgehog.ratingbar:app:1.1.2'
implementation project(':sandriosCamera')
implementation('org.Apache.httpcomponents:httpmime:4.2.6') {
    exclude module: 'httpclient'
}
implementation 'com.googlecode.json-simple:json-simple:1.1'
}

afterEvaluate {
tasks.matching {
    it.name.startsWith('dex')
}.each { dx ->
    if (dx.additionalParameters == null) {
        dx.additionalParameters = ['--multi-dex']
    } else {
        dx.additionalParameters += '--multi-dex'
    }
}
}
subprojects {
project.plugins.whenPluginAdded { plugin ->
    if ("com.Android.build.gradle.AppPlugin".equals(plugin.class.name)) {
        project.Android.dexOptions.preDexLibraries = false
    } else if 
("com.Android.build.gradle.LibraryPlugin".equals(plugin.class.name)) {
        project.Android.dexOptions.preDexLibraries = false
    }
}
}

buildscript {
repositories {
    mavenCentral()
}

dependencies {
    classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1'
}
}

apply plugin: 'com.jakewharton.hugo'

aussi mon autre diplôme de module

apply plugin: 'com.Android.library'
apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.Android-maven'

buildscript {
repositories {
    jcenter()
    jcenter()
    maven { url "https://maven.google.com" }
}
dependencies {
    classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
    classpath 'com.github.dcendents:Android-maven-gradle-plugin:1.4.1'
}
}

group = 'com.sandrios.Android'
version = '1.0.8'

ext {
PUBLISH_GROUP_ID = 'com.sandrios.Android'
PUBLISH_ARTIFACT_ID = 'sandriosCamera'
PUBLISH_VERSION = '1.0.8'
PUBLISH_CODE = 9
}

Android {
compileSdkVersion 26
buildToolsVersion "26.0.1"

defaultConfig {
    minSdkVersion 19
    targetSdkVersion 25
    versionCode PUBLISH_CODE
    versionName PUBLISH_VERSION
}

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

task generateSourcesJar(type: Jar) {
from Android.sourceSets.main.Java.srcDirs
classifier 'sources'
}

task generateJavadocs(type: Javadoc) {
failOnError false
source = Android.sourceSets.main.Java.srcDirs
classpath += project.files(Android.getBootClasspath()
        .join(File.pathSeparator))
}

task generateJavadocsJar(type: Jar) {
from generateJavadocs.destinationDir
classifier 'javadoc'
}

generateJavadocsJar.dependsOn generateJavadocs

artifacts {
archives generateSourcesJar
archives generateJavadocsJar
}

install {
repositories.mavenInstaller {
    pom.project {
        name PUBLISH_GROUP_ID
        description 'Simple integration of universal camera in Android for easy image and video capture.'
        url 'https://github.com/sandrios/sandriosCamera'
        inceptionYear '2016'

        packaging 'aar'
        version PUBLISH_VERSION

        scm {
            connection 'https://github.com/sandrios/sandriosCamera.git'
            url 'https://github.com/sandrios/sandriosCamera'

        }
        developers {
            developer {
                name 'arpitgandhi9'
            }
        }
    }
}
}

bintray {
Properties properties = new Properties()

properties.load(project.rootProject.file('local.properties').newDataInputStream())
user = properties.getProperty('bintray.user')
key = properties.getProperty('bintray.apikey')
configurations = ['archives']
pkg {
    repo = 'Android'
    name = 'sandriosCamera'
    userOrg = 'sandriosstudios'
    desc = 'Android solution to simplify work with different camera apis.'
    licenses = ['MIT']
    labels = ['Android', 'camera', 'photo', 'video']
    websiteUrl = 'https://github.com/sandrios/sandriosCamera'
    issueTrackerUrl = 'https://github.com/sandrios/sandriosCamera/issues'
    vcsUrl = 'https://github.com/sandrios/sandriosCamera.git'
    version {
        name = PUBLISH_VERSION
        vcsTag = PUBLISH_VERSION
        desc = 'Minor fixes.'
        released = new Date()
    }
}
}

repositories {
jcenter()
}

dependencies {
implementation 'com.Android.support:support-v4:26.0.0'
implementation 'com.Android.support:appcompat-v7:26.0.0'
implementation 'com.Android.support:recyclerview-v7:26.0.0'
implementation 'com.github.bumptech.glide:glide:3.6.1'
implementation 'com.yalantis:ucrop:2.2.0'
implementation 'gun0912.ted:tedpermission:1.0.2'
}

et aussi niveau de projet

// 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:3.0.0-beta2'

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

allprojects {
repositories {
    jcenter()
    maven {
        url "https://maven.google.com"
    }
}
}

aidez-moi s'il vous plaît à me débarrasser de cette erreur

41
Nilabja

Trouvé ma réponse, pour moi personnellement, il utilisait

implementation "com.google.guava:guava:23.0"

Au lieu de

implementation "com.google.guava:guava:23.0-Android"
11
TheHebrewHammer

C'est une partie importante:

Vous devez ajouter ceci dans le fichier build.gradle de ce module, là où il n'est pas ajouté comme module d'application.

Android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

Aussi, vous avez oublié d'ajouter le dépôt pour le plugin:

buildscript {
    repositories {
        jcenter()
        google()
    }
}
79
DeKaNszn

J'ai eu les mêmes erreurs (SimException) que vous avez rencontrées. J'avais 3 modules dans Android projet d'architecture propre:

  • data (bibliothèque Android)
  • domaine (plain Java))
  • présentation (app - all Android))

solution

aller vers File/Project Structure...

assurez-vous que vos modules ont la même compatibilité source et cible (1.8 dans ce cas)

20
Lukas

J'ai ajouté une bibliothèque avec le compileOptions Java 1.8, et dans mon projet principal ne pas. Ajout fixe:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
14
Pablo Cegarra

J'avais le même problème. J'ai récemment supprimé mon .gradle dossier de cache et réinstallé Android Studio et le SDK. Éventuellement, lorsque vous essayez de git bisect le problème, il est parti. Je ne peux que spéculer sur la raison pour laquelle cela s’est produit, mais je soupçonne que le téléchargement de versions plus anciennes des outils de compilation et du SDK, ainsi que la construction (et la mise en cache présumée) de notre code avec ces outils plus anciens ont provoqué sa construction de telle manière qu’elle ne l’a pas été. t causer des problèmes.

Cela met en évidence une sorte de bogue dans la manière dont les outils de génération les plus récents (API 26?) Génèrent le code source. Par conséquent, ma recommandation, si vous voyez ce problème et que les autres solutions ne fonctionnent pas, est de réduire votre ciblez la version du Kit de développement logiciel sur une version inférieure ou égale à 25, installez les outils de génération nécessaires et essayez de compiler votre code avec ceux-ci avant de revenir aux outils de génération 26 ou supérieurs.

4
Carl Anderson