【问题标题】:Weird error after importing project from Eclipse to Android Studio将项目从 Eclipse 导入 Android Studio 后出现奇怪的错误
【发布时间】:2015-09-25 07:58:41
【问题描述】:

我一直在 Eclipse 中开发 Android 应用程序(重要:Eclipse 中的设置:项目构建目标:API 19)。昨天我已将项目导入 Android Studio。在出现一些依赖问题(我的应用程序使用了一些外部库)之后,我能够运行 app.我的 build.gradle 文件有一部分:

compileSdkVersion 22
buildToolsVersion "23.0.0"
defaultConfig {
    applicationId "com.myapp"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
    renderscriptTargetApi 22
    renderscriptSupportModeEnabled true

    multiDexEnabled true
}

不幸的是,当我在装有 Android 4.4.4 的手机上运行它时,它会引发奇怪的错误:

java.lang.NoClassDefFoundError: com.myapp.settings.Setting

设置是我在应用模块(主模块)中的类,这怎么可能?

当我使用 Android 6.0 在 AVD 中运行应用程序时,它运行良好!

当我将 compileSdkVersion 更改为 21 时,它可以在搭载 Android 5.0(模拟或物理)的手机上运行,​​但我无法更改为更低的 compileSdkVersion,因为其中一个依赖项 - https://github.com/dbachelder/CreditCardEntry - 正在使用 compile 'com.android.support: support-v4:22.1.1' 和旧版本显示此库中的 xml 文件错误。

我做错了什么?


编辑: 我更改了 gradle 文件中的一些行并删除了 CreditCardEntry 库,现在出现错误:

java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager

当我初始化 Facebook SDK 时:

FacebookSdk.sdkInitialize(getApplicationContext());

在主活动中。


编辑2: 我已经从存储库中添加了 Facebook SDK 库,上面的错误已解决,但我的旧错误又回来了:

java.lang.NoClassDefFoundError: com.myapp.settings.Setting

【问题讨论】:

  • 无论如何,你都应该将目标版本设置得尽可能高。
  • 我已经改变了,但问题仍然存在。

标签: android android-studio android-gradle-plugin build.gradle noclassdeffounderror


【解决方案1】:

下载 library.jar 文件并将其复制到应用程序项目内的 /libs/ 文件夹中。

打开 build.gradle 文件并编辑您的依赖项以包含新的 .jar 文件:

现在进入你的 gradle 路径并通过命令提示符清理它。

【讨论】:

  • 我更改了 gradle.build 中的一些行并删除了 CreditCardEntry 库,现在我收到错误:java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager 在我运行时抛出初始化 Facebook SDK:FacebookSdk.sdkInitialize(getApplicationContext());在主要活动中
【解决方案2】:

我已经解决了这个问题。问题是 MultiDexApplication 初始化不当。我用这个题目解决了:How to enable multidexing with the new Android Multidex support library

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2015-05-21
    • 2016-06-21
    相关资源
    最近更新 更多