KTPlay SDK如何兼容Android中的Ant打包流程?

 

无论采用何种接入方式(Unity/Android Studio/Eclipse/Ant/Gradle),请将KTPlay工程作为游戏的引用工程参与build,而不要直接拷贝SDK的资源和代码到游戏工程中。

  • 使用工程引用的方式,不会导致R文件相关的系列问题。
  • 使用工程引用的方式,可保持SDK工程的独立性,升级/替换SDK时较方便。

第1步. 准备工程

  • 游戏工程

    假设你的游戏工程目录(build.xml所在目录)为Game

  • KTPlay工程

    不同SDK中,KTPlay工程目录如下:

    • Unity SDK: Assets/Plugins/Android/KTPlay
    • C++ SDK: Platform/Android/KTPlaySDK/KTPlay
    • Android SDK: KTPlaySDK/KTPlay

    将KTPlay工程拷贝到Game同级的目录下(不拷贝也可以,在第3步中建立工程引用时,指定到正确的目录即可):

    Game
    KTPlay

    由于ANT的build流程会检查工程的src目录,如果KTPlay下没有src目录,请手动创建一个空的src目录。

第2步. 生成KTPlay build文件

  • 命令行CD到KTPlay工程目录,执行下面的命令生成KTPlay的build文件 (注意后面的点号代表当前目录,输入时候不要漏掉)

    android update project -p .
    

    如果android命令找不到,你需要配置环境变量,让命令行识别android命令,该程序在你ANDROID_HOME的tools目录下,将其添加到你的path环境变量即可。

第3步. 建立工程引用

  • 打开Game目录下的project.properties文件,看看有没有类似下面的配置

    android.library.reference.1=xxx
    
  • 如果有,按照同样的格式(注意序号要递增,比如原先已经有1个,则递增为2)添加KTPlay工程引用

    android.library.reference.2=../KTPlay
    
  • 如果没有,直接把KTPlay作为第一个引用:

    android.library.reference.1=../KTPlay
    

第4步 合并AndroidManifest文件

Android的ANT打包流程,默认并不支持AndroidManifest文件自动合并,需要手动处理合并。

  • 打开KTPlay工程下的AndroidManifest.xml
  • 将所有uses-permission项拷贝到游戏AndroidManifest文件的manifest节点下。
  • application下的所有内容拷贝到游戏AndroidManifest文件的application节点下 。
  • 在游戏的application节点的属性中添加:

    android:hardwareAccelerated="true"
    android:supportsRtl="true"
    

第5步. Build游戏

直接执行游戏的build文件即可。

注意:如果之前已经手动拷贝过KTPlay的资源和代码到游戏工程,需要删除掉。

  • 代码:

    • libs/ktplay.jar

    如果使用的是C++ SDK,需要同时删除动态链接库文件:

    • armeabi/libKTPlay.so
    • armeabi-v7a/libKTPlay.so
  • 资源
    所有以kt_或kryptanium下划线开头的资源,可以用命令统一删除

        rm -rf res/**/kt_*.*
        rm -rf res/**/kryptanium_*.*
    
还有其它问题?提交请求

0 评论

登录写评论。