2013-01-17 55 views
13

मेरी एंड्रॉइड परियोजनाओं के लिए ट्रैविस सीआई के साथ शुरू करने का प्रयास कर रहा है। सबसे पहले मैंने एंड्रॉइड बूटस्ट्रैप के साथ डमी प्रोजेक्ट की स्थापना की, और स्क्वायर ओटो परियोजना से एक वाईएमएल फ़ाइल जोड़ा - मेरा उपयोगकर्ता नाम और रेपो नाम बदलने के लिए संशोधित किया गया।Android के लिए ट्रैविस सीआई

मेरे निर्माण /home/travis/build.sh: line 94: android: command not found त्रुटि "के साथ विफल रहता है, तब भी जब square's project builds fine

त्रुटि संकेत मिलता है कि पथ मेरी .travis.yml में इन पंक्तियों के होने के बावजूद ठीक से सेट नहीं है, लगता है

  • निर्यात ANDROID_HOME = ~/बनाता/f2prateek/FoodBot/Android-SDK-linux
  • निर्यात पथ = $ {पथ}: $ {ANDROID_HOME}/उपकरण: $ {ANDROID_HOME}/मंच-उपकरण

क्या यह कुछ और पाने के लिए मुझे स्थापित करने की आवश्यकता है?

उत्तर

16

अद्यतन 2014/05: ट्रैविस सीआई के पास अब एंड्रॉइड के लिए आधिकारिक समर्थन है।

http://docs.travis-ci.com/user/languages/android/

नीचे समाधान अब और आवश्यकता नहीं है, जब तक आप एक गैर- Android वी एम पर इसका इस्तेमाल करना चाहते हैं।


मुद्दा तथ्य यह है कि ट्रैविस सीआई 64-बिट आभासी मशीनों पर स्विच के साथ सबसे अधिक संभावना है। 64-बिट वातावरण में चलाने के लिए आपको Android के लिए ia32-libs इंस्टॉल करने की आवश्यकता है। यह वर्तमान में साथ प्राप्त किया जा सकता है:

sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch 

मैं हो रही एंड्रॉयड ट्रैविस है, जो इस के साथ ही अन्य विवरण शामिल किया गया है पर चल रहा है बनाता है पर एक ब्लॉग पोस्ट ने लिखा है: http://rkistner.github.com/android/2013/02/05/android-builds-on-travis-ci/

ट्रैविस समर्थन कर सकता है एंड्रॉयड विशेष आभासी में मशीनों भविष्य, जो विन्यास को सरल बना देगा। इस समस्या के अपडेट और एंड्रॉइड-विशिष्ट वीएम पर चर्चाओं के लिए issue #56 पर वार्तालाप का पालन करें।

+0

युप, सप्ताहों के लिए इसका पालन कर रहा है। वर्कअराउंड के लिए धन्यवाद :) – f2prateek

+0

मुझे निम्न त्रुटि मिलती है: निम्न पैकेजों में अनमेट निर्भरताएं हैं: ia32-libs-multiarch: i386: निर्भर करता है: libgphoto2-2: i386 लेकिन यह स्थापित नहीं होने वाला है निर्भर करता है: libsane: i386 लेकिन यह स्थापित नहीं किया जा रहा है ई: समस्याओं को ठीक करने में असमर्थ, आपने टूटे हुए पैकेज आयोजित किए हैं। – emmby

+0

आपको उस तरह की त्रुटि मिलती है जब आप केवल 'ia32-libs-multiarch' को स्थापित करने का प्रयास करते हैं - आपको पूरी लाइन का उपयोग करने की आवश्यकता है जैसा कि मैंने ऊपर किया है। – Ralf

2

यह उत्तर ट्रैविस स्वचालित परीक्षण तक शामिल है। पूर्ण संस्करण के लिए Medium article देखें: स्वचालित परीक्षण और तैनाती।


ट्रैविस सीआई (@ एपीआई 26+)

जाहिर एपीआई 24 एमुलेटर स्थापित करने से ट्रैविस पर एक दर्द एक दर्द [1][2][3][4] है।

Sean Barbeau, जो मेरे पास बहुत अधिक समय के लिए खोद रहा है, pretty much considered it impossible अनुकरण करने के लिए है।

लेकिन वहाँ के लिए एपीआई 26+ एक काम और आसान विकल्प है, जो adb emulator के बजाय gradlew साथ परीक्षण चल रहा है है। यह seems to have some limitations है, लेकिन यह काम करना चाहिए। क्रेडिट PocketHub पर।

sudo: required 

language: android 
jdk: oraclejdk8 

before_cache: 
    - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock 
    - rm -rf $HOME/.gradle/caches/*/plugin-resolution/ 

cache: 
    directories: 
    - $HOME/.gradle/caches/ 
    - $HOME/.gradle/wrapper/ 
    - $HOME/.android/build-cache 

env: 
global: 
- ANDROID_API=26 
- ANDROID_BUILD_TOOLS=26.0.2 

android: 
    components: 
    - tools 
    - tools # Running this twice get's the latest build tools (https://github.com/codepath/android_guides/wiki/Setting-up-Travis-CI) 
    - platform-tools 
    - android-${ANDROID_API} 
    - build-tools-${ANDROID_BUILD_TOOLS} 
    - extra 

script: 
- ./gradlew clean test build 

पर्यावरण चर है कि आप अपनी परियोजना के लोगों को अनुकूल करने के लिए हो सकता है:

कुछ जानकारी उपलब्ध होना चाहिए या तो build.gradle या AndroidStudio -> Settings -> Android SDK -> SDK Tools

(यदि आप का निर्माण कर रहे एक नई परियोजना में एक अपडेटेड एंड्रॉइडस्टूडियो के साथ आपको केवल निम्नलिखित लिंक में नवीनतम संस्करण चुनना चाहिए)

ANDROID_API: https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels

ANDROID_BUILD_TOOLS: https://developer.android.com/studio/releases/build-tools.html

Example .travis.yml setup (GitHub विज्ञप्ति के autodeploy के साथ)।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^