Android Studio 下项目的依赖配置

2024-06-24 03:58

本文主要是介绍Android Studio 下项目的依赖配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Android Studio 下项目的依赖配置

背景
项目需要用到一个github上的开源库swipelistview,原来在eclipse环境下配置过相关的依赖(导入jar包或者是lib依赖),但是在Android Studio下还是没有操作过。上网查了一下相关的资料,在stackoverflow上找到了答案。根据上面的介绍,结合实际情况,完成了依赖配置。
stackoverflow答案地址

有两种方式来进行依赖配置。
1. 使用aar包(这个不太清楚原理和效果,简单查了一下和maven相关,和jar包相比,可以使用资源文件——jar包不可以使用其资源文件)。例如swipelistview,下面这几行代码设置了一下maven远程库的地址和aar包依赖。

repositories {maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}dependencies {compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {transitive = true}
}
  1. 使用本地lib依赖(library库文件在本地的拷贝)

第一步,推荐下面这种的目录结构

-root
 -lib
   -abs
     build.gradlesrcres-myModule
     build.gradlesettings.gradle

导入module的操作顺序:
File->import module->select source location->ok->finish

说明:
一级目录root即为根项目的目录,即为project的名字。
二级目录myModule为module的名字,lib是在root下的一个文件夹。
三级目录abs即为将要依赖的lib库文件。
关于Android Studio的project和module,project相当于eclipse的wrokspace,module相当于eclipse的project,同一个project下的module可以进行依赖。

第二步,在文件settings.gradle中应当是这样

include ':myModule', ':lib:abs'

用”括起来的就是当前project下的module名字,可以看出来module abs是带有相对路径的。

第三步,接下来在In lib/abs/build.gradle中可能是这样:

buildscript {repositories {mavenCentral()}dependencies {classpath 'com.android.tools.build:gradle:0.7.+'}
}
apply plugin: 'android-library'android {compileSdkVersion 19buildToolsVersion "19.0.0"defaultConfig {minSdkVersion XXtargetSdkVersion 19}    sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']resources.srcDirs = ['src']            res.srcDirs = ['res']            }}}
}
dependencies {      compile 'com.android.support:support-v4:19.0.0'      
}

原答案建议为Remove the supportV4.jar from your local abs library.

第四步,之后在文件myModule/build.gradledependencies中添加依赖:

buildscript {repositories {mavenCentral()}dependencies {classpath 'com.android.tools.build:gradle:0.7.+'}
}
apply plugin: 'android'android {compileSdkVersion 19buildToolsVersion "19.0.0"defaultConfig {minSdkVersion XXtargetSdkVersion 19}}    dependencies {// Librariescompile project(':lib:abs')  }

第五步,最后在myModule/build.gradle中,添加:

dependencies {compile 'com.android.support:support-v4:19.0.0'// Librariescompile project(':lib:abs')  }

但是根据我的实际操作,不需要将lib库中的依赖转移到主module中去,也就是说不执行第三步和第五步,只执行第四步。这个应该是要根据实际情况来决定了~

期间遇到个问题,就是我的两个module的build tools版本不一致,导致build不成功,我的解决是将较低的那个换成较高的版本解决问题。

最后在项目中直接导入相应的包名+类名就可以了!

这篇关于Android Studio 下项目的依赖配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089108

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo