您的位置:首页 > 编程语言 > Java开发

Android Studio项目依赖Eclipse项目

2016-01-15 11:17 411 查看
近期研究AS的使用方法,遇到一个问题,手里有一个AS项目,现在要依赖一个Eclipse的工程,这个工程在SVN里,那怎么能够解决项目依赖的问题呢?研究了一天,终于搞定了。

首先,我从SVN上把Eclipse工程check到本地,然后我在AS中import module,把Eclipse的项目导入进来,然后配置这个项目的build.gradle,用了一下午的时间终于搞定了,结果又遇到了另一个问题,这个Eclipse工程是在SVN上维护的,如果有人更新了代码,怎么能保证我依赖的是最新的代码呢?或者是我改了依赖项目的代码,怎么快速更新呢?我自己操作了一下,发现AS里依赖的工程并不会自动更新,也就是说这个只是一个副本,相当于重新生成了一份,而且目录结构也改变了。这个不满足我的需求,和Eclipse使用的方法不一样,然后第二天又整了一上午,可算解决了。

我在AS项目的根目录用TortoiseSVN从SVN上导出Eclipse项目,然后这个项目在AS里就可以看到了,然后我给Eclipse项目新建一个build.gradle文件,在defaultConfig里定义sourceSets:

sourceSets {

main {

manifest.srcFile 'AndroidManifest.xml'

java.srcDirs = ['src']

resources.srcDirs = ['src']

aidl.srcDirs = ['src']

renderscript.srcDirs = ['src']

res.srcDirs = ['res']

assets.srcDirs = ['assets']

}

}

然后是lib包依赖

dependencies {

provided files('libs/gson-2.2.2.jar')

provided files('lib/android-support-v4.jar')

}

之后在AS的build.gradle文件的dependencies中加入依赖这个Eclipse项目compile project(':XXXX(Eclipse项目名称)'),然后再AS项目的settings.gradle文件中加入include方法:include ’XXXXXX(Eclipse项目名称)‘,OK,然后makeProject就可以了。

这时,可能会出现一个错误,大体的意思就是依赖工程的manifest文件里指定了icon,label等属性,而自己的工程也设置了这些属性,这就导致出现了这种错误,解决这种错误的方法就是在工程的manifest里修改,在Application标签里加上replace,tools:replace="android:icon,android:label"(等等)。

xmlns:tools="
http://schemas.android.com/tools"
解决这个问题的过程中还遇到了别的问题,比如引入包重复等等,这些问题在网上一搜有很多解决方案的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: