怎么在安卓Studio工程中加入外部依赖工程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在安卓Studio工程中加入外部依赖工程相关的知识,希望对你有一定的参考价值。
参考技术A 做安卓的开发有段日子了,但是对工程文件一直不敢乱动,现在进入模块集成阶段,需要在主工程中引入其它的工程模块,就初步的研究了下怎么把别人写的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怎么运行安卓工程
在windows7操作系统下,在android studio按照如下步骤运行安卓工程,(必须开启一起模拟器或者使用真机)
1、创建一个没有错误的android项目,如下图:
2、点击工具栏的运行按钮,如下图:
3、弹出一个窗口,选择在哪个机器运行,点击OK即可,点击之后等待即可运行程序,如下图:
在windows7操作系统下,在android studio按照如下步骤运行安卓工程,(必须开启一起模拟器或者使用真机)
1、创建一个没有错误的android项目,如下图:
2、点击工具栏的运行按钮,如下图:
3、弹出一个窗口,选择在哪个机器运行,点击OK即可,点击之后等待即可运行程序,如下图:
参考技术B 一、修改Android Studio(以下简称AS)的内存配置因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m, 可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一个没有classpath的JDK, 这样可以确保使用源码里的库文件
并将其作为要使用的SDK的Java SDK。
三、生成导入AS所需配置文件(*.ipr)
①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)
②检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行:
mmm development/tools/idegen/
在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。
我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
③执行
development/tools/idegen/idegen.sh
等待出现类似下面的结果:
Read excludes: 5ms
Traversed tree: 44078ms
这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ IDEA社区版开发的)的配置文件
Tips:
AS在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:
<excludeFolder url="file://$MODULE_DIR$/.repo" />
<excludeFolder url="file://$MODULE_DIR$/abi" />
<excludeFolder url="file://$MODULE_DIR$/art" />
删除掉所有不需要的module-library项 PS:感谢 @dezng 的建议
这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.
④在AS中打开源码根目录下新生成的android.ipr
附上出处链接:http://www.cnblogs.com/Lefter/p/4176991.html本回答被提问者采纳 参考技术C 难道不是右键 run?
以上是关于怎么在安卓Studio工程中加入外部依赖工程的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio的工程怎么能导入到Unity里面使用
android studio创建的工程目录下的gradlew文件有啥作用
Unity3DAndroid 打包 ④ ( Android 工程打包 | Unity 中导出安卓工程 | Android Studio 打开 Unity 导出的 Android 工程 )