美文网首页
很老很老的cocos quick eclipse 转 andro

很老很老的cocos quick eclipse 转 andro

作者: 甚解_4703 | 来源:发表于2018-10-16 00:31 被阅读0次

    笔者有幸从朋友那边接手的项目。在此做个纪。

    eclipse android项目

    wuxia_baidu是app,其他都是library,首先让我们导出成gradle

    一 导出篇

    1:Export

    Export

    2:Generate Gradle build files(如果你没有这个选项可以去这里下载ADT,下最新的就好。)

    Generate Gradle build files

    3:Next

    Next

    4:Select All

    Select All

    5:Force overriding of existing files

    image.png

    6:点击上图的Finish就导出完成了。

    二 导入篇

    1:导出的子项目什么的我们先不管,先在项目最高级目录新建一个android_studio

    android_studio

    2:找一下settings.gradle,一般在项目目录。然后把它以及同一个目录的build.gradle放到上面新建的android_studio目录

    3:打开settings.gradle

    include ':android_proj:proj.android_common'
    include ':lib:cocos2d-x:cocos2dx:platform:android:java'
    include ':sdk:talkingdata:proj.android'
    include ':android_sdk:libbaidu'
    include ':android_proj:proj.android_baidu'
    

    这里刚好是我们的5个子项目。我们需要在每个子项目下面指定子项目的相对路径,不然打不开整个项目。

    include ':android_proj:proj.android_common'
    project(':android_proj:proj.android_common').projectDir = new File(settingsDir, '../android_proj/proj.android_common')
    include ':lib:cocos2d-x:cocos2dx:platform:android:java'
    project(':lib:cocos2d-x:cocos2dx:platform:android:java').projectDir = new File(settingsDir, '../lib/cocos2d-x/cocos2dx/platform/android/java')
    include ':sdk:talkingdata:proj.android'
    project(':sdk:talkingdata:proj.android').projectDir = new File(settingsDir, '../sdk/talkingdata/proj.android')
    include ':android_sdk:libbaidu'
    project(':android_sdk:libbaidu').projectDir = new File(settingsDir, '../android_sdk/libbaidu')
    include ':android_proj:proj.android_baidu'
    project(':android_proj:proj.android_baidu').projectDir = new File(settingsDir, '../android_proj/proj.android_baidu')
    

    通过project('xxx').projectDir = new File(settingsDir,'xxx diri')的方式指定。

    4:Import我们的android_studio

    Import
    目录

    改一下gradle-wrapper.properties中的Gradle版本

    image.png

    我改的是我现在用的这个:
    distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

    5:等待一会后,我们的项目目录多了很多空目录:

    空目录
    这是由于我们第三步修改的settings.gradle,指定的项目名称用了很多:
    现在把它修改一下
    include ':proj.android_common'
    project(':proj.android_common').projectDir = new File(settingsDir, '../android_proj/proj.android_common')
    include ':libcocos2d-x'
    project(':libcocos2d-x').projectDir = new File(settingsDir, '../lib/cocos2d-x/cocos2dx/platform/android/java')
    include ':sdktalkingdata'
    project(':sdktalkingdata').projectDir = new File(settingsDir, '../sdk/talkingdata/proj.android')
    include ':android_libbaidu'
    project(':android_libbaidu').projectDir = new File(settingsDir, '../android_sdk/libbaidu')
    include ':proj.android_baidu'
    project(':proj.android_baidu').projectDir = new File(settingsDir, '../android_proj/proj.android_baidu')
    

    完成修改后点击下图的TryAgain


    TryAgain

    或者点击侧边栏的Gradle


    image.png

    这时候发现报错了。。

    image.png
    点击Open File
    错误原因是因为我们改了项目名称,依赖这个项目的项目找不到了,就报错了,我们只要把这里的项目名称
    原依赖名字
    改成上面指定的名称就好,我的是:libcocos2d-x:
    改依赖名字

    6:处理instrumentTest的错误

    instrumentTest 错误
    找到instrumentTest这一行,并删除。
    顺带把下面这两行也删了:
    debug.setRoot('build-types/debug')
    release.setRoot('build-types/release')
    

    依次类推处理所有的instrumentTest错误。

    7:刷新

    8:处理错误

    1.刷新错误(Gradle刷新报的错误)

    只要点击里面的下划线标识 就能解决了。例如:

    点击下划线快速解决

    还有就是compile要废弃了,最好替换成implementation

    2.Make 错误

    一些严格的错误,自己改改哈。


    image.png

    1.我遇到了xxx.png.png 需要改成xxx.png。
    2.Duplicate resources 资源id重复,需要删掉一个。

    3. 资源错误

    还有些错误可能太多了不能显示,我们需要借助下面的方法(哪个项目报错,就去哪个项目的build):


    空intent-filter错误


    空intent-filter错误

    如果intent-filter里面是空的,则必须删除

    4.找不到符号,不存在程序包

    找不到符号错误g
    这个是由于eclipse是允许libs放在库中的,而android studio要求.jar必须放在引用它的项目中。
    所以去所有项目的libs目录找一下我们的.jar包,.jar可以通过压缩打开。
    以压缩包的方式打开.jar
    查看里面的包结构:
    压缩包里面的jar
    发现刚好有我们需要的com.tendcloud.tenddata.
    把它移动(是移动不是复制哈)到我们需要它的项目的libs目录中:
    移动过去
    以此类推所有这样的项目。

    9:移动c++动态库(*.so)

    没有加载*.so
    默认动态库在libs中,我们的android studio不会去加载到项目中。
    我们要把他移动到src目录中并创建一个jniLibs目录,把所有需要的动态库放到里面。
    调整动态库位置

    调整完成就能在Android视图中看到它了:

    成功加载c++动态库

    最后:附上我成功编译的输出:


    成功编译
    APK

    以及不同打包方式的apk内容:


    左边eclipse打包,右边android studio

    最后发现,新打包的APK无法运行。。。。。。

    估摸着应该是第三方SDK的问题。。。。
    这。。。。。。

    算了,,都写到这里了。。删了不划算,就当是写着当教训。。。

    千万别乱升级项目!!!

    千万别乱升级项目!!!

    千万别乱升级项目!!!

    相关文章

      网友评论

          本文标题:很老很老的cocos quick eclipse 转 andro

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