我是Android Studio的新手。 我如何在< JDK >文件夹下面的外部库中添加几个jar文件?


当前回答

如果有人正在寻找另一个解决方案,而没有实际将jar文件复制到项目目录中,例如在多个项目中使用jar时: 构建开放。Gradle和add

def myJarFolder = 'C:/Path/To/My/Jars'

[...]

dependencies {
    [...]
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
    [...]
}

注意,当然你不必使用myJarFolder变量,我发现它很有用。路径也可以是相对的,例如:../../ path /To/My/Jars。 AndroidStudio 3.0测试

更新: 对于Gradle Plugin > 3.0,使用implementation代替compile:

dependencies {
        [...]
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
        [...]
    }

其他回答

将JAR放在app/libs和app/build中。Gradle在依赖项部分添加:

implementation fileTree(dir: 'libs', include: ['*.jar'])

虽然我想对这个问题做一个深入的回答,但回答得晚了。此方法适用于Android Studio 1.0.0及以上版本。


步骤


首先把你的文件夹结构从Android切换到Project。

现在在app文件夹中搜索libs文件夹。

一旦您将.jar文件粘贴到libs文件夹中。右键单击jar文件,最后单击Add as library。这将负责在构建中添加编译文件('libs/library_name.jar')。gradle[你不需要在你的构建文件中手动输入这个]。

现在可以开始在项目中使用这个库了。

基于GUI的方法是在项目中添加一个额外的模块。

从“文件”菜单中选择“项目结构”并单击绿色部分 左上角的加号图标。 弹出新的Module对话框 从手机和平板电脑应用程序组中选择“Import JAR or AAR package”选项,然后单击下一步。 按照以下步骤创建一个包含JAR文件的新模块。 单击与主项目相对应的条目,并选择依赖项选项卡。 向步骤4中创建的模块添加依赖项。

最后一条建议。确保您包含的JAR文件最多是用JDK 1.7构建的。关于“com.android.dx.cf.iface”错误消息的许多问题。错误的类文件magic (cafebabe)或version(0034.0000)"根直接到这个:0。

如果你没有看到“添加为库”选项,确保你解压(解压缩)你的文件,使你有mail.jar而不是mail.zip。

然后右键单击你的文件,你可以看到“添加为库”选项。

在你的android项目中添加一个罐子的“官方方式” 外部库,是在jar中添加依赖项{}节 build.gradle。

如果你做了以上所有的事情,但没有一个奏效,那么还有另外两种可能:

If Android Studio or some other IDE doesn't give red underlined errors in editor but runs in error in the Java Compiler, CHECK YOUR JAR. Your jar may not have a proper Manifest included therefore the compiler doesn't know what the jar can provide/don't know it's package name Maybe it's folder structure is messed up. The folder structure doesn't match with its package name. package a.b.c; should be matching to folder a > folder b > folder c. The package name has some conflict. (Trust me, this happened to me and it took hours to figure it out.)


然而,如果你打算用cordova,这里有一些添加外部罐子的技巧。

“build-extras。Gradle”是更好的管理Gradle文件的方法。

下面是在基于cordova的android项目中管理额外设置的步骤:

添加jar到build-extras.gradle: //其他设置在这里,例如:buildscript{…} ext.postBuildExtras = { //你可能有一些其他的设置,例如:android{…} 依赖关系{ 编译文件(“libs / abc.jar”) } }

(更详细的步骤在这里:扩展cordova gradle文件以包括谷歌服务)

在终端,做:

Cordova构建android