【发布时间】:2015-06-21 04:17:27
【问题描述】:
我正在尝试在我的 Android Studio 项目中使用一些 .jar 文件作为库。
我一直在研究如何做,常规的方法是将.jar文件复制到libs文件夹中,然后将其添加为库。我知道 libs 文件夹必须在“项目”视图中的“应用程序”模块内。但是没有出现添加为库的选项。所以我的方法是通过右键单击“应用程序”手动添加它:
打开 Module Settings/app/Dependencies/ 并添加 .jar 文件作为 文件依赖项。
然后,我转到我的 .class 但导入建议不允许我选择这些库作为导入。
我从“android”视图尝试了另一种方法。右键单击“应用程序”并选择“新模块”,在那里我选择 Import .JAR 或 .AAR Package 然后我从打开模块设置中执行与以前相同的操作,但这次我添加它作为模块依赖。
在展位方式中,更新了 gradle.build 文件添加了这些依赖项,但是当去活动选择导入时,我没有机会从这些中选择导入。
我已经花了一整天的时间试图解决这个问题,但我无法识别来自这些文件的导入,所以如果有人能告诉我我做错了什么或我在做什么,我将不胜感激错过了。
顶级 build.gradle 文件:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
应用级 build.gradle 文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.myapp"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { res.srcDirs = ['src/main/res', 'src/main/res/values-v14'] } }
packagingOptions {
exclude 'META-INF/LICENSE.txt'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(':activation')
compile project(':mail')
}
【问题讨论】:
-
你的
build.gradle在哪里? -
如果您在
libs中添加了.jars,那么compile fileTree(dir: 'libs', include: ['*.jar'])会自动识别它 -
@MDI 知道应该是这样,但是由于某种原因,当我尝试导入一个类并且它让我在多个选择之间进行选择时,应该来自 jar 文件的那个不会出现。
-
你的意思是来自
Project Structure --> Dependency。 -
或者另一种方法是直接在
build.gradle中添加compile files('libs/YourFile.jar')在dependencies中,然后在Sync Gradle中添加Sync Gradle
标签: android jar android-studio