android studio添加外部jar库
我想添加externjar库android studio添加外部jar库,jar,android-studio,Jar,Android Studio,我想添加externjar库commons-jexl-2.1.1.jar。我将jar复制到libs/文件夹中,并执行addaslibrary…菜单点。我没有收到代码中的任何错误,一切似乎都正常,但在编译和启动应用程序时,我收到了错误java.lang.NoClassDefFoundError:org.apache.commons.jexl2.JexlEngine在这一行private JexlEngine jexl=new JexlEngine() 有人知道我错过了什么吗 不幸的是,这个菜单命令
commons-jexl-2.1.1.jar
。我将jar复制到libs/
文件夹中,并执行addaslibrary…
菜单点。我没有收到代码中的任何错误,一切似乎都正常,但在编译和启动应用程序时,我收到了错误java.lang.NoClassDefFoundError:org.apache.commons.jexl2.JexlEngine
在这一行private JexlEngine jexl=new JexlEngine()代码>
有人知道我错过了什么吗
不幸的是,这个菜单命令对基于Gradle的项目做了错误的事情,我认为你的是。(基于Gradle的项目是您在Android Studio中创建新项目时得到的)。我已经提交了一个bug,请求为这些项目正确地实现这个菜单命令,或者至少禁用它,直到它被实现以防止混淆
同时,您可以通过“项目结构”对话框添加外部JAR依赖项,该对话框将向build.gradle构建文件添加适当的条目。选择文件菜单>项目结构,然后单击左侧的“模块”条目。从中间的列表中选择您的模块,然后单击右侧的Dependencies选项卡。然后单击底部的+按钮以添加新的依赖项。屏幕截图如下:
+菜单有一个“文件相关性”选项(如图所示)。您将获得一个文件选择器,它将允许您选择jar文件
如果您的依赖关系可以在Maven中找到,那么您可能会发现指定Maven坐标更方便;这样,构建系统将自动下载依赖项,而不必手动下载和存储JAR。要设置它,请从+菜单中选择“Maven dependency”。您将获得一个对话框,可以在其中搜索以找到库的正确Maven坐标。在您的例子中,这些坐标将是“org.apache.commons:commons-jexl:2.1”。1@jar"
如果您喜欢手动编辑生成文件,请在完成“项目结构”对话框更改后签出build.gradle文件,查看它的功能
Android中使用Gradle的文档位于
我已经为同样的事情挣扎了好几个小时,试图让Gson-jar正常工作。我终于破解了它——以下是我采取的步骤:
将Gson jar(在我的例子中是Gson-2.2.4.jar
)放入libs
文件夹中
右键单击它并点击“添加为库”
确保编译文件('libs/gson-2.2.4.jar')
位于build.gradle
文件中
做一个干净的构建(在Android Studio中你可能可以做得很好,但是为了确保我在终端中导航到我的应用程序的根文件夹并键入gradlew clean
。我在Mac OS X上,命令在你的系统上可能不同
在我完成了上述三个步骤后,它开始正常工作。我认为“添加为库”步骤是我以前错过的步骤,并且在我清理它之前它也不起作用
[编辑-添加了build.gradle
步骤,这也是其他人指出的必要步骤]我的“项目结构”窗口看起来有点不同,左侧没有Mudules选项,用于选择文件依赖项的“+”也不存在!?您是手动创建项目还是使用“新建项目向导”创建项目?如果您是手动创建的,并且它的目录结构比向导创建的项目更扁平,那么在这种情况下,您可以手动将依赖项添加到build.gradle文件中,方法是放置一个compile'org.apache.commons:commons-jexl:2.1。1@jar“
依赖项中的语句”
块我已经插入了编译文件('libs/commons-jexl-2.1.1.jar'))
在我的build.gradle文件中,也添加了您的行,但我仍然收到相同的错误…我使用file->New Projects根据您的屏幕截图创建了项目您使用的是非常旧版本的Android Studio(0.2.13)。尝试升级到0.3.5。该版本本身存在一些问题,我们希望在0.3.6中解决这些问题,我们正在努力解决这些问题。