gpt4 book ai didi

android - Android应用程序仅在使用较旧的Maven存储库进行编译时才运行

转载 作者:行者123 更新时间:2023-12-03 06:14:57 26 4
gpt4 key购买 nike

我正在研究一个可以正确编译但在build.gradle文件上设置新的Maven存储库时启动时崩溃的项目。

该项目正在使用lib holoeverywhere,并且由于以下错误而崩溃:java.lang.NoClassDefFoundError:android.support.v4.app._HoloFragmentInflater $ 1

直到上个月,一切都工作正常,但旧的公司资料库突然离线,我们创建了一个新的资料库。现在,如果我在build.gradle文件上设置了较旧的存储库,则该应用程序将编译并成功运行,但是如果我删除了较旧的存储库,则该应用程序仍会编译,但是当我尝试打开它时会崩溃。

这样做的主要问题是,新人们尝试使用新的或较旧的存储库首次编译代码时,便会导致崩溃。

因此,我认为这可能是由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')
}

最佳答案

我建议您从应用程序中删除HoloEverywhere。这是一个很棒的图书馆,但现在不是。并不是很困难:只需更改导入,一些小的调整和minSdkVersion = 15即可。其他选项: Material 设计。

无论如何,如果您无法删除它或现在无法执行它:

HoloEverywhere的补丁程序support-v4具有依赖性。我认为问题是您的Maven存储库中没有此修补程序版本。您可以在分支 support-library 中找到此代码。

关于android - Android应用程序仅在使用较旧的Maven存储库进行编译时才运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31706338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com