Android Studio项目依赖Eclipse项目

来源:互联网 发布:上海公务员备考知乎 编辑:程序博客网 时间:2024/05/16 16:18

近期研究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" 

解决这个问题的过程中还遇到了别的问题,比如引入包重复等等,这些问题在网上一搜有很多解决方案的。

0 0