0

Я работаю над проектом, который правильно компилируется, но сбой при запуске, когда я устанавливаю новый репозиторий maven в файле build.gradle.Приложение для Android работает только при компиляции с использованием старого репозитория maven

Проект использует Lib holoeverywhere, и он падает с ошибкой: java.lang.NoClassDefFoundError: android.support.v4.app._HoloFragmentInflater $ 1

До последнего месяца, все работает нормально, но вдруг старый репозиторий компании вышел в автономный режим, и мы создали новый. Теперь, если я устанавливаю старый репозиторий в файле build.gradle, приложение компилируется и запускается успешно, но если я удалю старый репозиторий, он все еще компилируется, но когда я пытаюсь открыть его сбой.

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

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

Может ли кто-нибудь помочь мне в этом?

Вот файл build.gradle:

buildscript { 
    repositories { 
    mavenCentral() 
    } 
    dependencies { 
    classpath 'com.android.tools.build:gradle:1.0.0' 
    } 
} 

allprojects { 
    repositories { 
    mavenCentral() 
    maven { 
     url "http://<new_repository_url>/artifactory/simple/libs-release-local/" 
    } 

    // if I remove comment from these lines the project runs correctly 
    //maven { 
     //url "https://<old_repository_url>/content/groups/AndroidPublicRepository/" 
    //} 

    maven { 
     url "http://holoeverywhere.cf/repo" 
    } 
} 
} 



apply plugin: 'android' 

android { 
    compileSdkVersion 19 
    buildToolsVersion '19.1' 

    defaultConfig { 
     minSdkVersion 9 
     targetSdkVersion 19 
     versionCode 131 
     versionName '1.5' 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
      signingConfig signingConfigs.release 
     } 
    } 

    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 

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

    android { 
     lintOptions { 
      abortOnError false 
     } 
    } 

    productFlavors { 
    } 
} 

configurations { 
    all*.exclude(group: 'org.springframework', module: 'spring-core') 
    all*.exclude(group: 'org.springframework', module: 'spring-web') 
    all*.exclude(group: 'org.hamcrest', module: 'hamcrest-core') 
} 


dependencies { 
    compile 'com.android.support:support-v4:19.1.0' 
    compile 'com.android.support:support-v13:19.1.0' 
    compile 'org.holoeverywhere:library:2.1.0' 
    compile 'com.viewpagerindicator:viewpagerindicator:2.4.1' 
    compile 'com.googlecode.libphonenumber:libphonenumber:5.9' 
    compile 'de.keyboardsurfer.android.widget:crouton:1.8.4' 
    compile 'com.google.code.gson:gson:2.3' 
    compile 'com.octo.android.robospice:robospice:1.4.14' 
    compile 'com.octo.android.robospice:robospice-cache:1.4.14' 
    compile 'com.octo.android.robospice:robospice-spring-android:1.4.14' 
    compile 'org.springframework.social:spring-social-core:1.0.2.PATCHED' 
    compile('org.springframework.android:spring-android-auth:1.0.1.RELEASE') { 
     exclude group: 'org.springframework.social', module: 'spring-social-core' 
    } 
    compile project(':addon-preferences-2.1.0') 
} 

ответ

0

Я рекомендую вам удалить HoloEverywhere из вашего приложения. Это была отличная библиотека, но это не сейчас. Это не очень сложно: просто измените импорт, немного корректировки и minSdkVersion = 15. Другой вариант: дизайн материалов.

Во всяком случае, если вы не можете удалить его, или вы не можете сделать это прямо сейчас:

HoloEverywhere был зависим с заплатой поддержки-v4. Я думаю, проблема в том, что у вас нет этой исправленной версии в вашем репозитории maven. Вы можете найти этот код в филиале support-library.

+0

Спасибо, что помогли, Брейс. К сожалению, сейчас я не могу удалить holoeverywhere, поэтому я пытаюсь использовать этот вариант патча. Но я не понимал, что делать. Я попытался запустить './gradlew internalJar' на ветке, но с ошибкой не удалось:« Не удалось создать плагин типа «LibraryPlugin». И что же мне делать? – Luckcheese

 Смежные вопросы

  • Нет связанных вопросов^_^