没有来源的Android库项目

时间:2014-06-10 05:54:12

标签: java android

我创建的Android库项目取决于三个库:google-play-services_lib,android-support-v7-library和pull-to-refresh(https://github.com/chrisbanes/Android-PullToRefresh/blob/master/library/src/com/handmark/pulltorefresh/library/PullToRefreshBase.java

我将我的项目标记为库,并希望创建可以用作jar的jar,是google_play_services和android-support库。我的问题是我必须做些什么来确保我的项目所依赖的库不包含在我的jar中。我想要第三个人 - 谁将使用我的库 - 将我的项目作为依赖项添加它们并使其工作。

java构建路径中未经检查的导出选项是否足够?

1 个答案:

答案 0 :(得分:0)

我不确定您是否使用过Gradle。但如果它是前者,那么你就不必做任何事情。如果您已在库项目中包含依赖项,如下所示:

dependencies {
    compile 'whatever:library'
}

然后没关系。

注意:如果您的项目包含资源(如布局等),则无法将其编译为jar!

注意2:如果您没有使用Gradle,请在评论中通知我,我会更新此帖子,说明如何实现这一目标。


更新1:

首先,让我链接到另一个相关的answer I did the last week。它为您提供了有用的链接,可以快速学习Gradle(至少所有基础知识)。

其次,您使用的是Android Studio吗?

更新2:

这只是品味问题;)!但是使用Android Studio(Intellij),您不需要配置额外的步骤来使Gradle工作。

好了,在您阅读了我之前提到的链接之后,下一步是创建一个库项目(在Android Studio中,它会自动为您生成所需的文件夹/文件)。

在您的liblibrary文件夹(您将图书馆的源代码放在您的build.gradle中)放入以下内容:

dependencies {
    compile 'com.google.android.gms:play-services:4.4.52'
    compile 'com.android.support:gridlayout-v7:19.1.0'

    compile 'it.sephiroth.android.library.fork.actionbarpulltorefresh:actionbarpulltorefresh:0.9.92'
}

然后你可以用aar格式生成你的库。

注意:Android-PullToRefresh库没有Gradelized,因此我必须搜索已上传到MavenCentral的另一个替代品(如sephiroth')。请记住使用Gradle, please!来搜索已经Gradelized的库!