【问题标题】:Link Error in Android StudioAndroid Studio 中的链接错误
【发布时间】:2014-09-09 08:40:21
【问题描述】:

我的 Android 应用在发布版本中运行良好。
但是,调试版本不会。

Android Studio、SDK等,每个环境都是最新版本。

使用调试构建,模拟器运行时会出现许多警告,但真正的设备在启动时会立即崩溃并使用以下 logcat。

W/dalvikvm﹕类的链接 'Landroid/support/v4/media/TransportMediatorJellybeanMR2$1;'失败的 W/dalvikvm﹕类的链接 'Landroid/support/v4/media/TransportMediatorJellybeanMR2$2;'失败的 W/dalvikvm﹕类的链接 'Landroid/support/v4/media/TransportMediatorJellybeanMR2;'失败的 W/dalvikvm﹕类的链接 'Landroid/support/v4/os/ParcelableCompatCreatorHoneycombMR2;'失败的 W/dalvikvm﹕无法解析的超类 Landroid/support/v4/print/PrintHelperKitkat$1; (229) W/dalvikvm﹕链接 类 'Landroid/support/v4/print/PrintHelperKitkat$1;'失败的 W/dalvikvm﹕类的链接 'Landroid/support/v4/print/PrintHelperKitkat$2$1$1;'失败的 W/dalvikvm﹕无法解析的超类 Landroid/support/v4/print/PrintHelperKitkat$2; (229) W/dalvikvm﹕链接 类 'Landroid/support/v4/print/PrintHelperKitkat$2;'失败的 W/dalvikvm﹕无法解析的超类 Landroid/support/v4/view/AccessibilityDelegateCompatIcs$1; (918) W/dalvikvm﹕类的链接 'Landroid/support/v4/view/AccessibilityDelegateCompatIcs$1;'失败的 W/dalvikvm﹕无法解析的超类 Landroid/support/v4/view/AccessibilityDelegateCompatJellyBean$1; (918) W/dalvikvm﹕类的链接 'Landroid/support/v4/view/AccessibilityDelegateCompatJellyBean$1;' 失败 W/dalvikvm﹕类的链接 'Landroid/support/v4/view/MenuItemCompatIcs$OnActionExpandListenerWrapper;' 失败 W/dalvikvm﹕无法解析超类 Landroid/support/v4/view/ViewPropertyAnimatorCompatICS$1; (11) W/dalvikvm﹕类的链接 'Landroid/support/v4/view/ViewPropertyAnimatorCompatICS$1;'失败的 W/dalvikvm﹕类的链接 'Landroid/support/v4/view/accessibility/AccessibilityManagerCompatIcs$1;' 失败 W/dalvikvm﹕无法解析超类 Landroid/support/v4/view/accessibility/AccessibilityNodeProviderCompatJellyBean$1; (948) W/dalvikvm﹕类的链接 'Landroid/support/v4/view/accessibility/AccessibilityNodeProviderCompatJellyBean$1;' 失败 W/dalvikvm﹕无法解析超类 Landroid/support/v4/view/accessibility/AccessibilityNodeProviderCompatKitKat$1; (948) W/dalvikvm﹕类的链接 'Landroid/support/v4/view/accessibility/AccessibilityNodeProviderCompatKitKat$1;' 失败 W/dalvikvm﹕类的链接 'Landroid/support/v4/widget/SearchViewCompatHoneycomb$1;'失败的 W/dalvikvm﹕类的链接 'Landroid/support/v4/widget/SearchViewCompatHoneycomb$2;'失败的 W/dalvikvm﹕无法解析的超类 Landroid/support/v4/widget/SearchViewCompatIcs$MySearchView; (1026) W/dalvikvm﹕类的链接 'Landroid/support/v4/widget/SearchViewCompatIcs$MySearchView;'失败的 W/dalvikvm﹕类的链接 'Lcom/google/android/gms/analytics/GoogleAnalytics$b;'失败的 W/dalvikvm﹕无法解析的超类 Lcom/google/android/gms/common/ErrorDialogFragment; (25) W/dalvikvm﹕ 类 'Lcom/google/android/gms/common/ErrorDialogFragment;' 的链接 失败 W/dalvikvm﹕类的链接 'Lcom/google/android/gms/common/images/ImageManager$e;'失败的 W/dalvikvm﹕无法解析的超类 Lcom/google/android/gms/maps/MapFragment; (26) W/dalvikvm﹕链接 类'Lcom/google/android/gms/maps/MapFragment;'失败的 W/dalvikvm﹕ 无法解析的超类 Lcom/google/android/gms/maps/StreetViewPanoramaFragment; (26) W/dalvikvm﹕类的链接 'Lcom/google/android/gms/maps/StreetViewPanoramaFragment;'失败的 W/dalvikvm﹕无法解析的超类 Lcom/google/android/gms/tagmanager/bb$1; (884) W/dalvikvm﹕链接 类'Lcom/google/android/gms/tagmanager/bb$1;'失败的 W/dalvikvm﹕ 无法解析的超类 Lcom/google/android/gms/wallet/fragment/WalletFragment; (26) W/dalvikvm﹕类的链接 'Lcom/google/android/gms/wallet/fragment/WalletFragment;'失败的 W/dalvikvm﹕无法解析的超类 Lcom/google/tagmanager/LRUCache$1; (884) W/dalvikvm﹕类的链接 'Lcom/google/tagmanager/LRUCache$1;'失败 W/dalvikvm﹕类的链接 'Lfacebook4j/management/APIStatisticsOpenMBean;'失败的 W/dalvikvm﹕ 类“Ltwitter4j/management/APIStatisticsOpenMBean;”的链接失败的 W/dalvikvm﹕类的链接 'Lcom/google/android/gms/games/internal/PopupManager$PopupManagerHCMR1;' 失败的 E/dalvikvm﹕LinearAlloc 超出容量 (5242880), last=2184 E/dalvikvm:虚拟机正在中止

我的 build.gradle 写的

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

apply plugin: 'com.android.application'

android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
//          jni.srcDirs = ['jni']
            jniLibs.srcDirs = ['libs']
        }

        instrumentTest.setRoot('tests')
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }

    signingConfigs {
        release {
            storeFile file('~~~~~.keystore')
            storePassword '********'
            keyAlias '~~~~~'
            keyPassword '********'
        }
    }

    buildTypes {
        release {
            debuggable false
            runProguard true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), file('proguard-project.txt')
            signingConfig signingConfigs.release
        }
        debug {
            debuggable true
            runProguard false
        }
    }

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

repositories {
    mavenCentral()
    maven { url 'http://twitter4j.org/maven2' }
}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:support-v4:20.0.0'
//  compile 'com.android.support:appcompat-v7:20.0.0'
    compile 'com.google.android.gms:play-services:5.2.08'
    compile 'org.twitter4j:twitter4j-core:3.1.0-SNAPSHOT'
    compile 'org.facebook4j:facebook4j-core:1.1.12'
    compile 'com.google.code.gson:gson:2.3'
}

我试图清理 gradle 和这个 android 项目,删除缓存 (~/.gradle) 并构建目录。 但是问题没有解决。

使用 gradle 安装的库似乎没有链接或包含到应用程序。

请帮忙。

【问题讨论】:

标签: android android-studio build.gradle


【解决方案1】:

基本上,您面临的是您的通用 gradle 主目录 (~/.gradle) 没有(或加载)项目所需的库。 (可能还有更多。但是,这就是我的全部理解)

如果项目是从 Github 下载的,通常会发生这种情况。

下载项目中必须有一个目录名称“gradle”。 您可以做的是,转到 Android Studio 的 Preferences -> Go to “Gradle” -> 并在“服务目录路径”中使用路径更新 下载项目中的 gradle 文件夹。

Android Studio 将开始获取项目的库。大约需要20分钟。当你再次同步时,它应该没问题。

PS:这个问题可能有一些与 gradle build 相关的逻辑。但是,我还没有学会这些。所以,希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 2016-10-14
    • 2014-10-09
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2020-10-31
    相关资源
    最近更新 更多