web-dev-qa-db-ja.com

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')
}
23
Karim Varela

Android Studioを使用している場合、Gradle Consoleを選択すると、問題のある場所が表示されます。私の場合、このエラーの原因となったのはtextView識別子の重複でした。

51
David Wadge

これをbuild.gradleに追加することで動作しました

 lintOptions {
        checkReleaseBuilds false
    }
29

私のエラーは

ExternalSystemException:文字列インデックスが範囲外です:-

私のアプリはトルコ語と英語をサポートしています。私の英語のstrings.xmlには

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

と私のトルコ語のstrings.xmlには含まれていません

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

トルコ語のstrings.xmlファイルに<string name="hello_world">Bla bla!</string>を追加すると、問題は解決しました。

注:Android StudioのGradleコンソールをご覧ください enter image description here

6
ethemsulan

私はAndroid Studio 1.4 Build with 2015年9月28日に同じ問題を抱えていました私がしたことは:

  1. メインのgradleスクリプトでビルドを開始しました-メニューに実行構成を作成しました。

  2. スクリプトパラメータ行に「:app:assembleRelease」を追加して、実行構成を編集しました。そしてそれを始めた。

  3. Gradleビルドは、メインのstrings.xmlファイルで翻訳が欠落していることを示しました。

これを修正した後。署名済みAPKの生成は問題なく終了しました。

3
Toma Velev

私は同じ問題を抱えていましたが、このエラーが発生しました:

ExternalSystemException: String index out of range: -119

私の問題は、文字列エディターでデフォルト変数を翻訳に設定するのを忘れていたということでした。それを追加した後、問題は解決されました。

それが役に立てば幸い!

1
Kokusho

そこで、Android Studio 1.3に戻し、問題は解消しました。

0
Karim Varela

これは古いスレッドですが、次の情報は一部の人に役立つ場合があります。少し異なるメッセージが表示されていました(ただし、次のメッセージをグーグルすると、このスレッドにリダイレクトされます)。

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>
0
Paul