Android gradle 动态添加模块依赖

Android gradle 动态添加模块依赖,第1张

Android 开发过程,可能会遇到依赖模块太多,手动的添加修改依赖就会觉得有点麻烦,这个时候可以考虑使用动态添加模块依赖,也是适用像 Jenkins 自动打包构建,就不需要频繁的去修改模块依赖,提高构建效率。

1、工程 settings.gradle 动态添加模块工程

2、 app 模块 build.gradle 依赖使用

Gradle dependencies: compile project by relative path

Android studio add external project to build.gradle

做安卓的开发有段日子了,但是对工程文件一直不敢乱动,现在进入模块集成阶段,需要在主工程中引入其它的工程模块,就初步的研究了下怎么把别人写的lib模块加入到主工程。

首先想到的是把别人的工程文件打包成jar文件,放到主工程的libs目录下。研究了下,网上说现在打包成aar文件比较好,就学习了下。

首先把lib工程编译生成的aar文件(在build/outputs)拷贝到主工程libs目录,然后在主工程模块的build.gradle中添加两项:

repositories {

flatDir {

dirs 'libs'

}

}

dependencies {

compile(name:'isisdata-release', ext:'aar')

其中isisdata-release是我的aar文件名称,这就好了。

但是开发的过程中发现lib文件和主工程集成有些问题,需要两个文件集成调试。用aar的方式不太方便调试修改代码。还是把代码直接引入主工程方便。但是显然不能把lib的代码直接拷贝(import)到主工程,这样会造成两份lib代码,维护起来麻烦。这就需要把在主工程目录外部目录的工程链接到主工程。研究了下,发现了解决方法:

首先,在主工程的setting.gradle中添加外部工程的信息:

include ':isisdata'

project(':isisdata').projectDir

= new

File('/PATH/TO/isisdata/')

然后在主工程的build.gradle中添加

dependencies {

compile

project(':isisdata')

这样编译就OK了。

问题出在运行的时候报错“Duplicate files copied in APK

META-INF/NOTICE.txt”,在主工程的build.gradle中添加:

android

{

packagingOptions

{

exclude

'META-INF/LICENSE.txt'

exclude

'META-INF/NOTICE.txt'

}

}

就可以解决。

Android Studio中的六种依赖:

Compile,Provided,APK,Test compile,Debug compile,Release compile

Compile

compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。

Provided

Provided是对所有的build type以及favlors只在编译时使用,类似eclipse中的external-libs,只参与编译,不打包到最终apk。

APK

只会打包到apk文件中,而不参与编译,所以不能再代码中直接调用jar中的类或方法,否则在编译时会报错

Test compile

Test compile 仅仅是针对单元测试代码的编译编译以及最终打包测试apk时有效,而对正常的debug或者release apk包不起作用。

Debug compile

Debug compile 仅仅针对debug模式的编译和最终的debug apk打包。

Release compile

Release compile 仅仅针对Release 模式的编译和最终的Release apk打包。

android studio添加依赖工程方法:把eclipse下建立的工程依赖转到android studio 上

从Eclipse中导出

1.将你的ADT插件版本升级到22.0以上。

2.在Eclipse中,选择File-->Export。

3.在d出的导出窗口中,打开Android的文件夹,选择“Generate Gradle Build Files”。

4.选中你想要导入到Android Studio中的项目,Finish。

PS:导出的项目将会和原来的项目在同一目录,覆盖原来的同时,会新增一个叫build.gradle的文件,导入Android Studio时将首先读取这个文件。

导入到Android Studio

1.在Android Studio 中,首先关掉你当前的打开的项目。

2.在欢迎界面,点击Import Project(注:也是可以直接在菜单选择Import project的)

3.选中你在Eclipse中导出的项目,展开目录,点击build.gradle文件,然后OK

4.在之后的d出对话框中,会要求你选择Gradle的配置,选中Use gradle wrapper.(注:也可以自定义你本机装的Gradle)

android studio如何删除依赖工程项目?

1、首先需要先打开Android studio开发软件工具,进行到界面中,就可以点击菜单中的file的选项。

2、在d出的下拉的菜单中,可以直接选中“project structure”的选项。

3、这样就直接进入到project structure,需要modules的选项中进行选中一个项目。

4、进入到选中的项目中后,就可以直接点击dependencies的选项。

5、在列表可以看到已添加的依赖的模块,选中要删除的模块,然后点击右侧的位置当中的“-”即可完成删除。

6、而Android studio的项目已添加的模块需要手动进行删除,找到这个模块的文件,进行右键》》delete。

7、对删除的模块进行再次的确认的信息,可以直接点击“delete”选项,就完成了删除模块的 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11796839.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存