我的Android应用程序在发布版本中运行良好 但是,调试版本不会。
Android Studio,SDK等,每个环境都是最新版本。
使用调试版本时,模拟器会运行许多警告,但是一旦真正的设备在使用以下logcat启动后就会崩溃。
W / dalvikvm:班级的链接 'Landroid /支持/ V4 /媒体/ TransportMediatorJellybeanMR2 $ 1;'失败 W / dalvikvm:班级的链接 'Landroid /支持/ V4 /媒体/ TransportMediatorJellybeanMR2 $ 2;'失败 W / dalvikvm:班级的链接 'Landroid /支持/ V4 /媒体/ TransportMediatorJellybeanMR2;'失败 W / dalvikvm:班级的链接 'Landroid /支持/ V4 / OS / ParcelableCompatCreatorHoneycombMR2;'失败 W / dalvikvm:无法解析超类 Landroid /支持/ V4 /打印/ PrintHelperKitkat $ 1; (229)W / dalvikvm:链接 类'Landroid / support / v4 / print / PrintHelperKitkat $ 1;'失败 W / dalvikvm:班级的链接 'Landroid /支持/ V4 /打印/ PrintHelperKitkat $ 2 $ 1 $ 1;'失败 W / dalvikvm:无法解析超类 Landroid /支持/ V4 /打印/ PrintHelperKitkat $ 2; (229)W / dalvikvm:链接 类'Landroid / support / v4 / print / PrintHelperKitkat $ 2;'失败 W / dalvikvm:无法解析超类 Landroid /支撑/ V4 /视图/ AccessibilityDelegateCompatIcs $ 1; (918) W / dalvikvm:班级的链接 'Landroid /支持/ V4 /视图/ AccessibilityDelegateCompatIcs $ 1;'失败 W / dalvikvm:无法解析超类 Landroid /支撑/ V4 /视图/ AccessibilityDelegateCompatJellyBean $ 1; (918) W / dalvikvm:班级的链接 'Landroid /支持/ V4 /视图/ AccessibilityDelegateCompatJellyBean $ 1;' 失败W / dalvikvm:班级的链接 'Landroid /支持/ V4 /视图/ MenuItemCompatIcs $ OnActionExpandListenerWrapper;' 失败W / dalvikvm:无法解析超类 Landroid /支撑/ V4 /视图/ ViewPropertyAnimatorCompatICS $ 1; (11) W / dalvikvm:班级的链接 'Landroid /支持/ V4 /视图/ ViewPropertyAnimatorCompatICS $ 1;'失败 W / dalvikvm:班级的链接 'Landroid /支持/ V4 /视图/无障碍/ AccessibilityManagerCompatIcs $ 1;' 失败W / dalvikvm:无法解析超类 Landroid /支持/ V4 /视图/无障碍/ AccessibilityNodeProviderCompatJellyBean $ 1; (948)W / dalvikvm:班级的链接 'Landroid /支持/ V4 /视图/无障碍/ AccessibilityNodeProviderCompatJellyBean $ 1;' 失败W / dalvikvm:无法解析超类 Landroid /支持/ V4 /视图/无障碍/ AccessibilityNodeProviderCompatKitKat $ 1; (948)W / dalvikvm:班级的链接 'Landroid /支持/ V4 /视图/无障碍/ AccessibilityNodeProviderCompatKitKat $ 1;' 失败W / dalvikvm:班级的链接 'Landroid /支持/ V4 /空间/ SearchViewCompatHoneycomb $ 1;'失败 W / dalvikvm:班级的链接 'Landroid /支持/ V4 /空间/ SearchViewCompatHoneycomb $ 2;'失败 W / dalvikvm:无法解析超类 Landroid /支持/ V4 /空间/ SearchViewCompatIcs $ MySearchView; (1026) W / dalvikvm:班级的链接 'Landroid /支持/ V4 /空间/ SearchViewCompatIcs $ MySearchView;'失败 W / dalvikvm:班级的链接 'LCOM /谷歌/机器人/克/分析/ Google分析$ B;'失败 W / dalvikvm:无法解析超类 LCOM /谷歌/机器人/克/普通/ ErrorDialogFragment; (25)W / dalvikvm: 类'Lcom / google / android / gms / common / ErrorDialogFragment;'的链接 失败W / dalvikvm:班级的链接 'LCOM /谷歌/机器人/克/普通/图像/ $的ImageManagerë;'失败 W / dalvikvm:无法解析超类 LCOM /谷歌/机器人/克/地图/ MapFragment; (26)W / dalvikvm:链接 class'Lcom / google / android / gms / maps / MapFragment;' W / dalvikvm失败了: 无法解析的超类 LCOM /谷歌/机器人/克/地图/ StreetViewPanoramaFragment; (26) W / dalvikvm:班级的链接 'LCOM /谷歌/机器人/克/地图/ StreetViewPanoramaFragment;'失败 W / dalvikvm:无法解析超类 LCOM /谷歌/安卓/ GMS / tagmanager / BB $ 1; (884)W / dalvikvm:链接 class'Lcom / google / android / gms / tagmanager / bb $ 1;' W / dalvikvm失败了: 无法解析的超类 LCOM /谷歌/机器人/克/钱包/片段/ WalletFragment; (26) W / dalvikvm:班级的链接 'LCOM /谷歌/机器人/克/钱包/片段/ WalletFragment;'失败 W / dalvikvm:无法解析超类 LCOM /谷歌/ tagmanager / LRUCache $ 1; (884)W / dalvikvm:班级的链接 'LCOM /谷歌/ tagmanager / LRUCache $ 1;'失败W / dalvikvm:班级的链接 'Lfacebook4j /管理/ APIStatisticsOpenMBean;' W / dalvikvm失败了: 类'Ltwitter4j / management / APIStatisticsOpenMBean;'的链接失败 W / dalvikvm:班级的链接 'LCOM /谷歌/安卓/ GMS /游戏/内部/ PopUpManager将$ PopupManagerHCMR1;' E / dalvikvm失败:LinearAlloc超出容量(5242880),最后= 2184 E / dalvikvm:VM中止
我的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安装的库没有链接或包含在应用程序中。
请帮忙。
答案 0 :(得分:0)
基本上,您所面临的是您的通用gradle home目录(〜/ .gradle)没有(或加载)项目所需的库。 (可能还有更多关于它。但是,这就是我的理解)
如果从Github下载项目,则会发生这种情况。
下载项目中必须有一个目录名“gradle”。 您可以做的是,转到Android Studio的偏好设置 - >去 “Gradle” - >并在更新“服务目录路径”中使用路径 您下载的项目中的gradle文件夹。
Android Studio将开始为项目提取库。大约需要20分钟。当你再次同步时,应该没问题。
PS:可能存在与此问题的gradle构建相关的逻辑。但是,我还没有学到这些。所以,希望这对你有帮助。