【发布时间】:2015-09-17 07:14:33
【问题描述】:
我是 Android 的新手,尤其是 libs。
我使用的是 Android Studio 1.2.2
我正在尝试创建一个没有使用 AltBeacon 库的活动、资源等(只有代码)的 jar 库。完成后,我想将此 jar 包含在我的 APP 中,该 APP 必须通过我的 lib 使用信标。
好吧,使用 AltBeacon 指令,我可以使用 AltBeacon 库将 gradle 配置为具有“正常”(带有活动等)应用程序。但我无法创建一个包含 AltBeacon 的 jar 库。 我用谷歌搜索了很多,特别是在 SO,我发现了很多关于“图书馆内图书馆”的问题,但这对我不起作用。
我做了这个:
- 我使用 Studio 创建了一个空项目(空白活动)
- 然后我创建了一个新模块 -> Java 库并将其命名为 libmebeaconmanager,Studio 创建了一个新的 Java 类,我将其命名为 MeBeaconManager
-
我是这样修改库的build.gradle的:
应用插件:'java'
依赖{ 编译 fileTree(dir: 'libs', include: ['*.jar']) 编译'org.altbeacon:android-beacon-library:2+'
}
这是 Module:app: 的 build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "23.0.0 rc2"
defaultConfig {
applicationId "me.padovame.libbeacontest"
minSdkVersion 18
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}
这是项目的build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
-
此时,在 lib 的 MeBeaconManager 类中,我尝试导入 AltBeacon 类但没有成功,因为导入行出现未定义符号错误,如下所示:
导入 org.altbeacon.beacon.Beacon;
我也尝试过将下载的android-beacon-library-2.3.aar插入到libmebeaconmanager的lib文件夹中
我做错了什么?
提前致谢。
编辑: 我试图在我的 libmebeaconmanager 中包含一个 jar(用 Picasso 尝试过)库并且它有效。所以问题似乎出在 aar 库上。
我要疯了……
编辑 2: 我从 AltBeacon aar 库中提取了 classes.jar 并将其用作其他 jar 并且它有效。
但我认为这是一种解决方法:我仍然不明白如何直接管理 aar 文件。所以感谢谁能帮助我。
【问题讨论】:
-
我认为这不是重复的。我需要在我的库中包含一个 aar 库
标签: android android-studio jar altbeacon