使用 Gradle 将 AndroidSlidingUpPanel 添加到 IntelliJ IDEA 项目
-
24-12-2019 - |
题
我使用 Gradle 在 IntelliJ IDEA 上创建一个项目,并尝试向其中添加 AndroidSlidingUpPanel (https://github.com/umano/AndroidSlidingUpPanel).
我到底需要做什么来配置它?
我有以下文件夹结构:
RootFolder |_libraries |_ AndroidSlidingUpPanel |_ library |_ build.gradle |_ settings.gradle |_ build.gradle |_app |_ build.gradle |_ settings.gradle |_ build.gradle
文件是这样的:
根文件夹/settings.gradle
include ':app'
include ':libraries:AndroidSlidingUpPanel:library'
根文件夹/build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.8.+'
}
}
allprojects {
repositories {
mavenCentral()
}
}
RootFolder/libraries/AndroidSlidingUpPanel/settings.gradle
include ':library'
include ':demo'
RootFolder/libraries/AndroidSlidingUpPanel/build.gradle
allprojects {
group 'com.sothree.slidinguppanel'
version '1.0.0-SNAPSHOT'
buildscript {
repositories {
mavenCentral()
}
}
dependencies {
repositories {
mavenCentral()
}
}
}
RootFolder/libraries/AndroidSlidingUpPanel/library/build.gradle
apply plugin: 'android-library'
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
dependencies {
compile 'com.android.support:support-v4:13.0.0'
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.1"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
根文件夹/app/build.gradle
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "19.0.2"
defaultConfig {
minSdkVersion 10
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:gridlayout-v7:19.0.1'
compile 'com.android.support:support-v4:19.0.1'
compile 'com.android.support:appcompat-v7:19.0.1'
compile fileTree(dir: 'libs', include: ['*.jar'])
}
解决方案
您不清楚您可能遇到的构建错误或您的确切问题是什么,但因为您在您的代码中没有对 SlidingUpPanel 的依赖 应用程序/build.gradle, ,问题是如何包含它?
如果是这样,首先要记住的是一个项目不能有多个 设置.gradle. 。更准确地说,它只在根文件夹中查找并使用它(如果存在)。所以 设置.gradle 在 根文件夹/库/AndroidSlidingUpPanel/ 将被忽略。看来您已经正确设置了 include
到 SlidingUpPanel 库中 根文件夹/settings.gradle, ,这样就很好:
include ':libraries:AndroidSlidingUpPanel:library'
要在您的应用程序中包含对其的依赖项,您可以使用 compile project
声明并给它相同的路径:
dependencies {
compile 'com.android.support:gridlayout-v7:19.0.1'
compile 'com.android.support:support-v4:19.0.1'
compile 'com.android.support:appcompat-v7:19.0.1'
compile project(':libraries:AndroidSlidingUpPanel:library')
compile fileTree(dir: 'libs', include: ['*.jar'])
}
如果您使用的是 Android Studio(它也应该适用于 IntelliJ Community Edition 中基于 Gradle 的项目),您可以通过以下方式从“项目结构”对话框中设置模块的依赖关系: 模块 > 你的模块 > 依赖关系 > + > 模块依赖:
如果您已将该模块添加到您的 设置.gradle 如果您已经拥有并已将项目同步到 Gradle 文件,那么 SlidingUpPanel 模块应出现在 IDE 的项目视图中,并且应作为该依赖项列表中的模块选项出现。