在Travis中集成libGDX项目

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2016/12/24/libgdx-with-travis/

之前Github放了一个例子,版本很老,是0.9.8的,后面1.x时代有一天突发奇想又去升级了一下,升级到了1.5.6。

今天突然有人又问到这个了,就顺手升级到1.9.5。测试了一下桌面环境是工作的,不过android环境不太想测试了,就寻思着集成一下Travis来测试一下,因为项目本身没有单元测试,所以测试的要求也不高,一是能编译通过,生成apk包,二是能够apk能够安装。

Travis是自带了android支持的,不过还是beta版,说实话beta版果然坑多。

首先来个简单的.travis.yml 文件

language: android

android:
  components:
    - build-tools-23.0.1
    - android-24

然后报错说找不到android-24。马上检查了一下本地的android sdk,有这个版本号。

然后网上找了一下方案,原来默认最高支持就到23,要支持高版本需要这样

language: android

android:
  components:
    - tools
    - tools
    - build-tools-23.0.1
    - android-24

这个的tools必须重复两遍,一次拉取最新的xml,一次才是真正的安装。

这样之后可以生成apk了,再来试试安装apk吧。

思路很简单:创建一个模拟器,然后启动,最后安装即可。Travis自带了一个命令android-wait-for-emulator 来等待模拟器启动。

在components里面声明- sys-img-armeabi-v7a-android-24 然后添加

after_script:
    - echo no | android create avd --force -n test -t android-24 --abi armeabi-v7a
    - emulator -avd test -no-audio -no-window &
    - android-wait-for-emulator
    - adb shell input keyevent 82 &
    - adb devices
    - adb install -r android/build/apk/android-release-unsigned.apk

然而调用Travis自带的等待命令的时候报错qemu-system-armel: -audio: invalid option 。

只好换回老版本,22来启动模拟器

after_script:
    - echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a
    - emulator -avd test -no-audio -no-window &
    - android-wait-for-emulator
    - adb shell input keyevent 82 &
    - adb devices
    - adb install -r android/build/apk/android-release-unsigned.apk

然后,它就卡着不动了。一直是等待启动中...

仔细检查日志,还是版本问题,没有安装API 22,所以镜像没有安装成功,实在没法,还是放弃24,使用22编译即可。

language: android

android:
  components:
    - build-tools-23.0.1
    - android-22
    - sys-img-armeabi-v7a-android-22
after_script:
    - echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a
    - emulator -avd test -no-audio -no-window &
    - android-wait-for-emulator
    - adb shell input keyevent 82 &
    - adb devices
    - adb install -r android/build/apk/android-debug.apk

PS:这个集成方法的思路没有问题的,不过这个项目改来改去apk的生成估计已经有问题了,又或者Travis的环境还是有什么其他问题,所以会报错Invalid APK file,不过本地安装有时候又会成功。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2016/12/24/libgdx-with-travis/

发表评论