安卓开发

当前位置:首页 >> 开发资料 已经有 1 人觉得本文很赞,如果本文对您有帮助,请支持我们,我们会做的更好

    android studio项目导入eclipse

    • 来源:cady
    • 作者:管理员
    • 时间:2016-09-23
    • 点击:1308
    • 收藏本文
    有时候项目都是android studio开发的,但是有很多开发者使用的都是eclipse,那么问题来了,如果要做这一个项目,如何将android studio项目导入到eclipse中,然后使用开发者熟悉的eclipse来接着开发?

    studio项目都是可以转换成eclipse的,eclipse目前的编译能力比studio只会多不会少。只要你熟练了,一个中等复杂的studio项目转成eclipse也只是分分钟的事情。 下面我们来看下如何android studio项目如何导入到eclipse中.

    项目转换


    下面来谈谈studio到eclipse的转换问题。在studio项目转换成eclipse项目的过程中,对于studio的知识点只需记住条:studio项目中src/main目录下才是真正的项目代码,main下java目录里面的代码对应的是eclispe项目中的src目录中的代码。至于其他什么乱七八糟的Gradle 代码,完全不要去理会。

    下面我们来看一个比较典型的例子:

    一般来讲一个项目如果没有什么新系统的特征,直接转换成eclipse的目录结构然后eclipse import进去就ok了,但是现在很多项目往往使用了Material Design中的一些东西,比如ToolBar,RecyclerView以及appcompat的主题等,这种依赖关系就比较复杂。


    更改项目结构




    看着挺复杂的,没关系很多文件和目录我可以直接删掉,从文件的名称来看example下面应该是demo代码,library下面是库代码。其他的直接删掉,当然为了保险起见,你还是点击去看下如果里面有src目录基本上就可以确认这是跟项目代码相关的了。删掉其他文件和目录之后我们就只剩下:



    我们先来解决library目录中的问题。打开library



    再回想上面说的main下java目录里面的代码对应的是eclispe项目中的src目录中的代码。因此我们将java目录改名src目录:


    这不就是熟悉的eclipse项目么,其实非常简单,本来我是不想写那么多的,但是有些人就是不会。至此library目录中的项目结构我们就改造完成了。

    按照完全一致的方法我们去改造example目录。

    导入eclipse

    将修正过的项目(此处为SuperSLiM-master目录)下的所有内容导入到eclipse中:



    导入之后生成了library和MainActivity两个project:



    library是库,而MainActivity中是demo,通常我喜欢将他们的项目名称改成github上的名称,这里我分别更改为:SuperSLiMLibrary和SuperSLiMDemo

    解决错误

    从上图中可以看到导入的两个project有错误,其实这些错误基本上是依赖关系导致的。因为SuperSLiMDemo是依赖于SuperSLiMLibrary的,所以我们先从SuperSLiMLibrary中的错误入手。

    在这个时候我并不知道这些错误具体产生的原因,所以我需要查看具体的错误文件,打开项目的包,发现以下java文件有红叉:



    随便选择一个文件进去看看,这里我就选择第一个好了找到了第一个错误:



    LayoutState的recyclerState方法找不到,LayoutState不就是上图中的第三个文件么,进去很多错误,随便截个图



    显然是需要导入RecyclerView包了。期望导入RecyclerView之后就不会有任何问题了。

    导入后发现大部分错误不见了,只有LayoutState还有错误,原来是因为LayoutState中有这样的代码

     if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
    这要求编译环境是5.0才行。将sdk换成5.0的,ok了,SuperSLiMLibrary已经没有任何错误了。

    看到这里你可能会想,是不是麻烦了点,确实,事实上我并不是上面的每一步都按部就班,我一般先在每个错误文件中扫描以便错误的地方,很快就可以定位到RecyclerView,然后添加依赖,甚至我都不想去扫描错误直接添加RecyclerView的依赖,因为github中已经说了这个项目是RecyclerView实现的。

    SuperSLiMLibrary到这里还有最后一步,将它设置成library,不然SuperSLiMDemo在添加lib的时候是找不到他的。



    再来看看SuperSLiMDemo中的错误。

    在这之前我首先将刚刚的SuperSLiMLibrary添加到依赖中。然后还是有这些错误:


    style中的错误是因为没有依赖appcompat,于是先添加了再说,一定要添加最新版本的appcompat(兼容5.0的appcompat),为什么呢,因为在主题代码中有下面这些属性:

    <style name="AppTheme.Base" parent="Theme.AppCompat.Light">
            <item name="colorPrimary">@color/primary</item>
            <item name="colorPrimaryDark">@color/primary_dark</item>
            <item name="colorAccent">@color/accent</item>
            <item name="android:windowNoTitle">true</item>
            <item name="windowActionBar">false</item>
        </style>


    当你看到colorPrimary属性的时候肯定需要在appcompat中编译的。

    同时因为SuperSLiMLibrary都是在5.0上编译的,因此SuperSLiMDemo我也同样在5.0上编译。

    然后你会发现我都没去看src中的java代码,就完全没有错误了。



    至此SuperSLiM这个项目就完全转换成eclipse版本的项目了。

    SuperSLiM不是最好转换的项目,也不是最难转换的项目,这篇文章只是告诉你,studio转eclipse是可行的,遇到问题该怎么解决。文中所描述的步骤完全没必要一一照搬,因为根本就没有什么固定的步骤。

    另外我看到有网友对使用了appcompat的项目比较排斥,看到使用了appcompat就不研究了,这是完全错误的思想,现在绝大多数开源项目都用了appcompat,而且因为5.0的出现appcompat还将被越来越多的项目使用,你可以看到在android官方文档上面,5.0的很多新特性更多的是介绍如何用appcompat去实现,而不是标准的sdk中的类。




    本文为Android开发学习网原创/整理,未经允许不得转载,如需转载请联系:androidStudynet@126.com



    读后点评 感谢支持 我的建议
公告信息
    本站安卓版APP正式上线,欢迎下载
本站提供的android教程仅用于android培训,对任何法律问题及风险不承担任何责任 本站部分内容来自网络,如有侵权,请联系本站 站点地图
广告/友情链接请联系:QQ:416225054 Email:androidstudynet@126.com 安卓版:下载 QQ群:480637276