Android如何使用Android studio和gradle创建包含Altbeacon库的库(jar)

时间:2015-06-30 13:06:27

标签: android android-studio jar altbeacon

我是Android的新手,特别是对于libs。

我使用的是Android Studio 1.2.2

我尝试创建一个没有使用AltBeacon库的活动,资源等(仅代码)的jar库。完成后,我想在我的APP中包含这个jar,必须通过我的lib使用信标。

好吧,使用AltBeacon说明,我可以配置gradle有一个"正常" (有活动等)APP使用AltBeacon库。但是我无法创建包含AltBeacon的jar库。 我特意在谷歌中搜索了很多,我发现了很多关于图书馆内的图书馆的问题"但这对我没用。

我做到了:

  • 我使用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类但没有成功,因为我的导入行有一个未定义的符号错误,如下所示:

    import org.altbeacon.beacon.Beacon;

我也尝试过,没有成功,在libmebeaconmanager的lib文件夹中插入了下载的android-beacon-library-2.3.aar

我做错了什么?

提前致谢。

编辑: 我试图在我的libmebeaconmanager中包含一个jar(试过Picasso)库并且它有效。所以问题似乎是aar libs。

我疯了......

编辑2: 我从AltBeacon aar lib中提取了classes.jar并将其用作其他jar并且它可以工作。

但我认为这是一种解决方法:我仍然不明白如何直接管理aar文件。所以,多亏谁可以帮助我。

1 个答案:

答案 0 :(得分:0)

似乎将库插入项目结构存在问题

您可以在这里查看用户Sam Rad提供的答案:
How do I add a library project to Android Studio?