我是安卓系统的新手,尤其是libs。
我使用的是Android Studio 1.2.2
我正在尝试创建一个没有使用AltBeacon库的活动、资源等(只有代码)的jar库。完成后,我想在我的应用程序中包括这个罐子,它必须通过我的库使用信标。
好吧,使用AltBeacon指令,我可以使用AltBeacons库将gradle配置为具有"正常"(带活动等)应用程序。但我无法创建一个包含AltBeacon的jar库。我搜索了很多,尤其是在SO,我发现了很多关于"图书馆内部的图书馆"的问题,但这对我来说不起作用。
我做了这个:
- 我用Studio创建了一个空项目(空白活动)
- 然后我创建了一个新的模块->Java库,并称之为libmebeaconmanager,Studio创建了一种新的Java类,我称之为MeBeaconManager
-
我用这种方式修改了图书馆的build.gradle:
应用插件:'java'
依赖项{compile fileTree(dir:'libs',include:['*.jar'])编译"org.altbeacon:安卓信标库: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'
}
这就是项目的构建进度:
// 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的MeBeacon Manager类中,我试图导入AltBeacon类,但没有成功,因为我在导入行中遇到了一个未定义的符号错误,如下所示:
导入org.altbeacon.beacon.beacon;
我还尝试在libmebeaconmanager的lib文件夹中插入下载的android-beacon-library-2.3.aar ,但没有成功
我做错了什么?
提前谢谢。
编辑:我试着在我的图书馆经理里放一个罐子(和毕加索一起试过)图书馆,结果成功了。所以问题似乎出在aar-libs身上。
我快疯了。。。
编辑2:我从AltBeacon aar库中提取了classes.jar,并将其用作其他jar。
但我认为这是一种变通方法:我仍然不知道如何直接管理aar文件。所以,感谢谁能帮助我。
似乎在将库插入项目结构时出现问题
您可以在此处查看用户Sam Rad提供的答案:
如何将库项目添加到Android Studio?