web-dev-qa-db-fra.com

Android: ExternalSystemException: Index de chaîne hors limites: -130 publication du bâtiment

Donc, vient de mettre à jour Android Studio 1.4 Beta 4 et a du mal à construire une version release. Je peux construire une version de débogage bien. C'est l'erreur que j'obtiens:

ExternalSystemException: String index out of range: -130

Après inspection, je vois ceci:

String index out of range: -130
com.intellij.openapi.externalSystem.model.ExternalSystemException: String index out of range: -130
at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.Java:223)
at com.Android.tools.idea.gradle.invoker.GradleTasksExecutor.invokeGradleTasks(GradleTasksExecutor.Java:400)
at com.Android.tools.idea.gradle.invoker.GradleTasksExecutor.run(GradleTasksExecutor.Java:221)
at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.Java:563)
at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.Java:152)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.Java:452)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.Java:402)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.Java:54)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.Java:137)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.Java:126)
at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.Java:400)
at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:471)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:262)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1145)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:615)
at Java.lang.Thread.run(Thread.Java:745)
at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.Java:56)

Des idées? J'ai essayé avec Gradle 2.3 - 2.7 et j'obtiens toujours cette erreur en construisant une version release.

build.gradle du module principal:

import Java.util.regex.Pattern

buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
    mavenCentral()
}

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
    classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.0'
}
}

apply plugin: 'Android-sdk-manager'
apply plugin: 'com.Android.application'
// This does not break the build when Android Studio is missing the JRebel for     Android plugin.
apply plugin: 'com.zeroturnaround.jrebel.Android'
apply plugin: 'io.fabric'

repositories {
maven { url 'https://maven.fabric.io/public' }
}


Android {
signingConfigs {
    config {
        keyAlias 'XXX'
        keyPassword 'XXX'
        storeFile file('../signing/keystore.jks')
        storePassword 'XXX'
    }
}
compileSdkVersion 22
buildToolsVersion '22.0.1'
defaultConfig {
    applicationId "com.coffeemeetsbagel"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 605
    versionName '2.0.6.0'
    signingConfig signingConfigs.config
    multiDexEnabled true
}

productFlavors {
    Lollipop {
        minSdkVersion 21
    }

    everything {
        minSdkVersion 16
    }
}
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.config
        debuggable false
    }
    debug {
        debuggable true
    }
    superuser.initWith(release)
    superuser {
        debuggable true
        minifyEnabled false
    }
}

packagingOptions {
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/license'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/NOTICE.txt'
    exclude 'META-INF/notice'
    exclude 'META-INF/notice.txt'
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/DEPENDENCIES.txt'
}

dexOptions {
    javaMaxHeapSize "4g"
}
}

dependencies {
compile files('libs/commons-validator-1.4.1.jar')
compile files('libs/com.kontagent.Android.sdk.jar')
compile files('libs/urbanairship-lib-4.0.4.jar')
compile files('libs/apsalar.jar')
compile('com.crashlytics.sdk.Android:crashlytics:2.2.3@aar') {
    transitive = true
}
compile 'com.github.chrisbanes.photoview:library:1.2.3'
compile 'com.facebook.Android:facebook-Android-sdk:4.1.0'
compile 'com.Android.support:support-v4:22.2.1'
compile 'com.Android.support:cardview-v7:22.2.1'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
compile 'com.squareup.okhttp:okhttp:2.4.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.google.code.gson:gson:2.3'
compile 'com.google.Android.gms:play-services-ads:7.5.0'
compile 'com.google.Android.gms:play-services-analytics:7.5.0'
compile 'com.google.Android.gms:play-services-gcm:7.5.0'
compile 'com.google.Android.gms:play-services-base:7.5.0'
compile 'com.google.Android.gms:play-services-location:7.5.0'
compile 'com.firebase:firebase-client-Android:2.2.0'
compile 'com.facebook.shimmer:shimmer:0.1.0@aar'
compile 'com.balysv:material-ripple:1.0.2'
compile 'io.branch.sdk.Android:library:1.8.8'
compile 'com.facebook.device.yearclass:yearclass:1.0.1'
compile 'com.appyvet:materialrangebar:1.0'
compile 'com.Android.support:multidex:1.0.1'
compile 'com.Adobe.creativesdk:image:4.0.0'
compile 'com.Android.support:recyclerview-v7:22.2.1'
compile 'com.Android.support:appcompat-v7:22.2.1'
compile 'com.Android.support:design:22.2.1'
compile project(':core')
compile project(':layouts')
compile project(':volley')
}
23
Karim Varela

Si vous utilisez Android Studio, la sélection de la console Gradle vous indiquera où se situe le problème. Dans mon cas, ce sont les identificateurs textView en double qui ont causé cette erreur.

51
David Wadge

Travaillé En ajoutant ceci dans build.gradle

 lintOptions {
        checkReleaseBuilds false
    }
29
Jackson Chengalai

Mon erreur est 

ExternalSystemException: Index de chaîne hors limites: -

Mon application prend en charge les langues turque et anglaise. Mon anglais strings.xml contient

 <string name="hello_world">Hello world!</string>

et mon strings.xml turc ne contient pas

<string name="hello_world">Bla bla!</string>

Quand j'ajoute <string name="hello_world">Bla bla!</string> au fichier turc strings.xml, le problème est résolu.

Remarque: veuillez regarder la console Gradle de Android Studio  enter image description here

6
ethemsulan

J'ai eu le même problème avec Android Studio 1.4 Build le 28 septembre 2015 Ce que j'ai fait était: 

  1. Commencé la construction du script Gradle principal - qui a créé une configuration d’exécution dans le menu. 

  2. Modifiez la configuration d'exécution en ajoutant ": app: assembleRelease" à la ligne des paramètres de script. et a commencé. 

  3. La version graduée m'a montré qu'il me manquait des traductions dans le fichier principal strings.xml. 

Après avoir résolu ce problème. Générer signé APK terminé sans problème.

3
Toma Velev

J'ai eu le même problème mais avec cette erreur:

ExternalSystemException: String index out of range: -119

Mon problème était que dans l'éditeur de chaîne j'avais oublié de définir une variable par défaut dans ma traduction, après l'avoir ajoutée, le problème était résolu.

J'espère que ça aide!

1
Kokusho

Je suis donc revenu sur Android Studio 1.3 et le problème a disparu.

0
Karim Varela

Bien qu'il s'agisse d'un ancien fil de discussion, les informations suivantes pourraient toutefois être utiles à certaines personnes. Je recevais un message un peu différent (mais similaire, googler pour le message suivant me redirige vers ce fil.)

Execution failed for task ':app:mergeReleaseResources'.
> String index out of range: 0

Pour moi, le problème était que string.xml manquait du nom d'une ressource de chaîne, comme mentionné ci-dessous. 

<string name="">Some strings...</string>

L'ajout du nom de ressource approprié a résolu le problème.

<string name="some_string">Some strings...</string>
0
Paul