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')
}
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.
Travaillé En ajoutant ceci dans build.gradle
lintOptions {
checkReleaseBuilds false
}
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
J'ai eu le même problème avec Android Studio 1.4 Build le 28 septembre 2015 Ce que j'ai fait était:
Commencé la construction du script Gradle principal - qui a créé une configuration d’exécution dans le menu.
Modifiez la configuration d'exécution en ajoutant ": app: assembleRelease" à la ligne des paramètres de script. et a commencé.
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.
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!
Je suis donc revenu sur Android Studio 1.3 et le problème a disparu.
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>