我正在试着使用新的Android Studio,但我似乎无法让它正常工作.

我使用Gson库来序列化/反序列化JSON对象.但不知怎么的,这个库并没有包含在构建中.

I had created a new project with just a MainActivity. Copied gson-2.2.3.jar in the /libs folder and added it as a library dependancy(right click->Add as library). This includes the jar in android studio so it can be referenced from the source files.

当我试图运行该项目时,它无法编译,因此我添加了:

compile files('libs/gson-2.2.3.jar')

添加到de.gradle文件中的依赖项.之后,它可以正确编译,但在运行应用程序时,我会得到ClassDefNotFoundException.

有人知道我做错了什么吗?

推荐答案

我已经为同样的事情挣扎了好几个小时,试图让gson jar同样正常工作.我终于破解了它--以下是我采取的步骤:

  1. 将Gson jar(在我的例子中是gson-2.2.4.jar)放入libs文件夹
  2. 右键单击它,然后单击"添加为库"
  3. 确保build.gradle文件中有compile files('libs/gson-2.2.4.jar')个(如果使用许多jar文件,则为compile fileTree(dir: 'libs', include: '*.jar')个)

    编辑:在Android Studio 3.0中使用implementation files('libs/gson-2.2.4.jar')(或implementation fileTree(dir: 'libs', include: '*.jar'))+

  4. 做一个干净的构建(您可能在Android Studio中可以很好地做到这一点,但为了确保我在终端中导航到我的应用程序的根文件夹并键入gradlew clean.我使用的是Mac OS X,您系统上的命令可能会有所不同

在我完成了上述四项之后,它开始运行良好.我认为"添加为库"这一步是我之前错过的,直到我把它清理干净,它才起作用.

[编辑-添加了build.gradle步,这也是其他人指出的必要步骤]

Android相关问答推荐

使用mvvm和jetpack的Android中的视图模型compose

view喷气背包中找不到模型组成

房间打开创建回调java.nio.channels. OverlappingFilLockResponse

以编程方式更改Android应用程序上的文件许可

Android配置设置. gradle不同应用风格

如何在安卓系统上使用Float16霓虹灯?

穿戴与iPhone连接的安卓操作系统

两首合成曲的喷气背包动画

BroadCastReceiver的onReceive方法中的Intent上的Extras为空

弹出导航堆栈后,Compose 无法访问 Hilt View Model

使用不同的gradle文件导入外部库

在本地通知中设置自定义声音

Jetpack Compose:如何绘制异形边框?

Android 设备断开连接后发送的 BLE 蓝牙数据

处理程序 postDelayed 方法不起作用,kotlin 应用程序卡在启动画面上

无法通过 retrofit 解析对 kotlin 数据类的 xml 响应

状态值更改时屏幕未重新组合 - Jetpack Compose

Gradle 构建错误:找不到 semver4j-0.16.4-nodeps.jar

单击登录按钮后从应用程序中退出

Jetpack Compose Material3 - switch 标签