android - studio - targetsdkversion 26
invookedynamic requiere--min-sdk-version>=26 (5)
Hoy descargué la versión de estudio 3.0 beta 2.0, después de eso intenté abrir un proyecto existente y tuve que enfrentar algunas dificultades, la mayoría de las cuales pude resolver con la ayuda de Google y Stack Overflow, pero esta no puedo.
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)
También publicando mi app gradle
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''
También mi otro módulo gradle
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''
}
y también proyecto nivel gradle
// 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"
}
}
}
por favor ayúdame a deshacerme de este error
Encontré mi respuesta, para mí personalmente estaba usando
implementation "com.google.guava:guava:23.0"
En lugar de
implementation "com.google.guava:guava:23.0-android"
Es parte importante:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
También olvidó agregar repo para el complemento:
buildscript {
repositories {
jcenter()
google()
}
}
Tuve los mismos errores ( SimException
) que encontraste. Tenía 3 módulos en el proyecto de arquitectura limpia de Android:
- datos (biblioteca android)
- dominio (módulo simple de Java)
- presentación (aplicación - todo lo de Android)
solución
navegue a File/Project Structure...
asegúrese de que sus módulos tengan la misma compatibilidad de origen y destino (1.8 en este caso)
Yo estaba teniendo el mismo problema. Recientemente .gradle
mi carpeta .gradle
cache y reinstalé Android Studio y el SDK. Finalmente, cuando intentaba git bisect
el problema, desapareció. Solo puedo especular sobre por qué sucedió esto, pero sospecho que la descarga de versiones anteriores de las herramientas de compilación y el SDK, y la construcción (y presumiblemente el almacenamiento en caché) de versiones de nuestro código con esas herramientas más antiguas hicieron que se construyera de una manera que no funcionaba. t causa problemas.
Esto apunta a algún tipo de error en la forma en que las nuevas herramientas de compilación (API 26?) Están construyendo el código fuente, por lo que mi recomendación si está viendo este problema y las otras soluciones no funcionan, es reducir su apunte la versión del SDK a 25 o inferior, instale las herramientas de compilación necesarias e intente compilar su código con esas, antes de revertir a las herramientas de compilación 26 o posteriores.
compileOptions Java 1.8
una biblioteca con compileOptions Java 1.8
, y en mi proyecto principal no. Se corrigió agregando:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}