Android: ExternalSystemException: индекс строки вне допустимого диапазона: выпуск сборки -130

Итак, только что обновился до Android Studio 1.4 Beta 4 и столкнулся с проблемами при создании сборки релиза. Я могу построить отладочную сборку. Это ошибка, которую я получаю:

ExternalSystemException: String index out of range: -130

При дальнейшем осмотре вижу следующее:

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)

Любые идеи? Я пробовал с Gradle 2.3 - 2.7 и всегда получаю эту ошибку при создании сборки выпуска.

build.gradle из основного модуля:

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')
}

person Karim Varela    schedule 15.09.2015    source источник
comment
Можете ли вы опубликовать свой файл build.gradle (удалив любые ключи и т. д.)   -  person Andrew Breen    schedule 15.09.2015
comment
Обновлен с помощью build.gradle из основного модуля.   -  person Karim Varela    schedule 15.09.2015
comment
Можете ли вы попробовать запустить сборку gradle из командной строки, чтобы убедиться, что это проблема с AS?   -  person Andrew Breen    schedule 15.09.2015


Ответы (8)


Если вы используете Android Studio, выбор консоли Gradle покажет вам, в чем заключается проблема. В моем случае эта ошибка была вызвана дублированием идентификаторов textView.

person David Wadge    schedule 29.10.2015
comment
Это решение! Проверьте консоль Gradle. - person Vincent; 30.06.2016
comment
что такое идентификаторы textView - person SAndroidD; 07.09.2016
comment
Все ваши элементы пользовательского интерфейса должны иметь идентификатор, например. ‹TextView android:id=@+id/текст/› - person David Wadge; 07.09.2016
comment
это идеальное решение - person Abubakar; 01.11.2016
comment
Для доступа к консоли Gradle View -> Tool Windows -> Gradle Console - person Kennedy Nyaga; 08.12.2016

Сработало, добавив это в build.gradle

 lintOptions {
        checkReleaseBuilds false
    }
person Jackson Chengalai    schedule 19.04.2016
comment
Это удалит проверки на ворсинки, но не устранит основную причину проблем. Вероятно, лучше всего устранить ошибки, посмотрев на консоль gradle. Хотя бы посмотрите на ошибки и решите, стоит ли их исправлять :) - person mogile_oli; 31.08.2016
comment
это работает, но не могли бы вы немного объяснить. в чем проблема и почему это работает - person Milon; 02.12.2016
comment
да, это сработает .. этот код просто удаляет проверки на ворсинки в сборке релиза. лучше вам исправить ошибки перед созданием apk. иногда это кажется сложным, поэтому я добавил эти две строки в build.gradle... :) - person Jackson Chengalai; 05.12.2016

Моя ошибка

ExternalSystemException: индекс строки вне диапазона: -

Мое приложение поддерживает турецкий и английский языки. Мой английский strings.xml содержит

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

и мой турецкий strings.xml не содержит

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

Когда я добавляю <string name="hello_world">Bla bla!</string> в файл Turkish strings.xml, проблема решена.

Примечание. Посмотрите консоль Gradle Android Studio введите здесь описание изображения

person ethemsulan    schedule 25.04.2016
comment
Пожалуйста, посмотрите, что консоль Gradle в Android Studio показала ошибки компиляции. - person Borzh; 28.04.2016

У меня была такая же проблема с Android Studio 1.4 Build 28 сентября 2015 г. Я сделал следующее:

  1. Начал сборку основного скрипта gradle — это создало конфигурацию запуска в меню.

  2. Отредактировал конфигурацию запуска, добавив ":app:assembleRelease" в строку параметров скрипта. и начал его.

  3. Сборка gradle показала мне, что у меня отсутствуют переводы в основном файле strings.xml.

После исправления этого. Создание подписанного APK завершено без проблем.

person Toma Velev    schedule 18.10.2015

У меня была такая же проблема, но с этой ошибкой:

ExternalSystemException: String index out of range: -119

Моя проблема заключалась в том, что в редакторе строк я забыл установить переменную по умолчанию в свой перевод, после ее добавления проблема была решена.

Надеюсь, поможет!

person Kokusho    schedule 22.03.2016

Поэтому я вернулся к Android Studio 1.3, и проблема исчезла.

person Karim Varela    schedule 16.09.2015

Хотя это старая тема, следующая информация может быть полезна для некоторых людей. Я получил немного другое сообщение (но похожее, поиск следующего сообщения в Google перенаправляет меня в эту ветку.)

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

Для меня проблема заключалась в том, что в string.xml отсутствовало имя строкового ресурса, как указано ниже.

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

Добавление правильного имени ресурса решило проблему.

<string name="some_string">Some strings...</string>
person Paul    schedule 21.11.2016

У меня такая же проблема. моя версия Android Studio ver2.1.1

Мой strings.xml содержит

<string name="title_connecting">connecting...</string>

затем я перехожу к следующему утверждению. проблема решена.

<string name="title_connecting">connecting..</string>
person Zach Chen    schedule 25.05.2016
comment
Знаете, ключ лежал в этом вопросе? - person GeekHades; 31.05.2016