美文网首页
老项目代码从Eclipse迁移到AndroidStudio

老项目代码从Eclipse迁移到AndroidStudio

作者: CodingMan_BZB | 来源:发表于2018-12-21 16:34 被阅读0次

    迁移原因

    a)      Google在技术上极力推荐使用Android专用工具AndroidStudio开发,并且AndroidStudio 更新迭代速度很快,在稳定性、便捷性上 已经完全超过Eclipse。

     b)      Google也早在至少两年前就停止了对Eclipse上插件的更新支持(ADT工具包停留在23.0.6),所以已经无法满足Android新版本的支持,所以迁移项目代码势在必行。


    迁移过程

        遇到的困难:

                由于项目创建于2013年,且项目compileSdkVersion =8 ;build tools version=8 (即基于Android2.2版本开发)的,与现在最新SDK版本              (SDK28 ,Android9.0)差别较大,且项目中依赖部分三方SDK,所以在项目迁移过程共,变动比较多,升级版本号的同时,还要修改部分    已    经    过时不用的代码。

        步骤

               一、 修改原项目工程目录下的project.properties文件

                   1、 将target=android-19 替换为target=android-26,因为google已经把19 obsolete,Android studio上已经无法使用

                    2、将指向的java路径 等删除掉,AS导入项目时不需要那些信息

                二、打开AS(使AS处于未打开工程状态,如果已经打开了工程:File àclose Project),选择“import project(Gradle,Eclipse ADT,etc)”选项

                        选Eclipse项目目录,然后根据英文提示解决可能会出现的问题,此时一般都能够正常的将项目导入的AS中了。

                    三、根据报错提示,会发现AS中有很多类文件无法找到

                        1、查看libs目录下的jar包是否已经被add as library ,如果没有则add as library。

                        2、还很有可能eclipse项目以project library的形式依赖了 第三方的SDK,查看SVN库中的确发现有OneSDK 以及openCVLibrary249等三方SDK,使用AS 以module形式进行依赖:Fileànewàimport modle,分别导入这两个SDK,并在app的build.gradle中进行依赖,操作

                    四、导入中AS并不能正常编译项目,需要进行一系列的修改

                           1.     AS 3.0之后版本build.gradle 中三方依赖均使用implementation 或api形式进行依赖,所以修改compile为implementation或       api。

                            2、升级compileSdkVersion 、buildToolsVersion 、minSdkVersion 、targetSdkVersion等版本为 最新版本28,修改minSdkVersion为14 .(android 3.+),后续如开发过程中需要更高版本再进行升级(因为现有所有Android设备中使用Android4.4及以上占比95.3%;使用Android5.0-api21以上已经占有85%的设备,且根据我们面向的用户群体低版本的设备用户会更少)                   

                    3、升级部分依赖包版本

                   4、导入后难免会有 重报jar包,根据报错情况,删除三方库与项目中重复的jar包

                   5、修改过时的方法eg:notification的创建,使用Builder形式创建

                    6、其余一些问题,根据报错提示,可自行修改

    相关文章

      网友评论

          本文标题:老项目代码从Eclipse迁移到AndroidStudio

          本文链接:https://www.haomeiwen.com/subject/knqvkqtx.html