2017-07-14 49 views
11

मैं ट्रैविस सीआई स्थापित करने का प्रयास कर रहा हूं ताकि यह एमुलेटर एपीआई 25 पर एमुलेटर पर परीक्षण परीक्षण चला सके। ट्रैविस एपीआई 4/10/19 पर पूरा होने के लिए परीक्षण चलाता है, लेकिन निम्नलिखित संदेश के साथ एपीआई 25 के लिए एमुलेटर शुरू करने में विफल रहता है :ट्रेविस सीआई पर बिल्ड मैट्रिक्स का उपयोग कर एमुलेटर चलाने वाले एमुलेटर 25 को कैसे सेट करें?

$ echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI 
Valid ABIs: no ABIs. 
Error: Invalid --abi armeabi-v7a for the selected target. 

android list targets के उत्पादन में पता चलता है कि एपीआई 19 एमुलेटर जबकि एपीआई 25 एमुलेटर नहीं है, एक टैग/ABI है: मैं तो इसे ठीक कर सकते कैसे

id: 7 or "android-19" 
    Name: Android 4.4.2 
    Type: Platform 
    API level: 19 
    Revision: 4 
    Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in 
Tag/ABIs : default/armeabi-v7a 

id: 11 or "android-25" 
    Name: Android 7.1.1 
    Type: Platform 
    API level: 25 
    Revision: 3 
    Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in 
Tag/ABIs : no ABIs. 

कि एपीआई 25 एमुलेटर लॉन्च और परीक्षण चलाता है?

पूर्ण .travis.yml फ़ाइल इस प्रकार है:

language: android 

android: 
    components: 
    - tools 
    - platform-tools 
    - tools # appears twice as per Travis docs 
    - build-tools-23.0.1 
    - build-tools-25.0.2 
    - android-4 
    - android-10 
    - android-19 
    - android-23 
    - android-25 
    - extra-android-m2repository 
    - sys-img-armeabi-v7a-android-25 

env: 
    matrix: 
    - ANDROID_TARGET=android-4 ANDROID_ABI=armeabi 
    - ANDROID_TARGET=android-10 ANDROID_ABI=armeabi 
    - ANDROID_TARGET=android-19 ANDROID_ABI=armeabi-v7a 
    - ANDROID_TARGET=android-25 ANDROID_ABI=armeabi-v7a 

before_script: 
    # Create and start emulator 
    - android list targets 
    - jdk_switcher use oraclejdk8 
    - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI 
    - emulator -avd test -no-skin -no-audio -no-window & 
    - adb wait-for-device 
    - while [[ `adb shell pm path android` == 'Error'* ]]; do sleep 2; done 
    - adb shell input keyevent 82 & 

script: ./gradlew --info connectedAndroidTest 

sudo: false 
+0

से सभी लाइसेंस देखने और स्वीकार करने के लिए भी बढ़ाया गया है क्योंकि एंड्रॉइड सूची लक्ष्य आपको बता रहे हैं, आपके सिस्टम पर एबीआई स्थापित करने के साथ कोई छवि नहीं है, आप एबीआई के साथ सही छवि स्थापित करने का प्रयास कर सकते हैं। यहां विवरण देखें: https://stackoverflow.com/questions/10019532/no-abi-error-when-creating-an-android-virtual-device –

+0

मेरी समझ यह है कि एंड्रॉइड एमुलेटर को एक घटक के रूप में निर्दिष्ट करने की आवश्यकता है स्क्रिप्ट बनाएं एंड्रॉइड एपीआई स्तर (https://docs.travis-ci.com/user/languages/android/#Overview) में वृद्धि के बावजूद यह ट्रैविस सीआई डॉक्स में क्या है। ट्रैविस सीआई को मेरे लिए स्थापित करना चाहिए - है ना? – fractalwrench

+0

आपको इस समस्या से प्रभावित होना प्रतीत होता है: https: // github।कॉम/ट्रेविस-सीआई/ट्रैविस-सीआई/मुद्दों/6122 –

उत्तर

8

नोट: एमुलेटर संस्करण 26.1.4+ संस्करणों को पेश या कीड़े को ठीक कर सकते हैं। यदि एक पुन: उत्पादित सीआई बिल्ड की आवश्यकता है, तो सबसे अच्छा विकल्प एंड्रॉइड घटकों के माध्यम से वांछित एसडीके-टूल्स संस्करण संख्या डाउनलोड करना है।

नोट: एमुलेटर संस्करण 26.1.3 here दिलचस्प फ़िक्स सहित है। अब मैं अपने जवाब को संशोधित करने के व्यस्त हूँ:

enter image description here

संबंधित एमुलेटर 26.1.2 here का उपयोग करके समस्या। पिछले like me निर्माण पुन: लॉन्च 26.1.3 का उपयोग करें और प्रार्थना करने के लिए, हरी

मैं सेटअप ट्रैविस सीआई करने का प्रयास कर रहा हूँ तो यह उपकरण एपीआई 25. चल रहा एक एमुलेटर पर परीक्षण चलाता है कि ट्रैविस एपीआई 4 पर पूरा होने से परीक्षण चलाता है/10/1 9, लेकिन एपीआई 25 के लिए एमुलेटर शुरू करने में विफल रहता है ...

मैं इसे कैसे ठीक कर सकता हूं ताकि एपीआई 25 एमुलेटर लॉन्च हो और परीक्षण चलाता है?

अद्यतन: मैं पुष्टि की है कि एपीआई 23, 25 और 26 के लिए एआरएम कपड़े भी एंड्रॉयड स्टूडियो में याद कर रहे हैं, तो:

  • यह एक ट्रैविस-ci मुद्दा नहीं है। मैंने इसे अगली छवि में दिखाए गए स्थानीय रूप से पुन: उत्पन्न किया।

  • आप API-24 के लिए एआरएम एबीआई का उपयोग कर सकते हैं। मैंने आपकी परियोजना को फोर्क किया और यह # 6 (अगली छवि) बनाने में काम किया।

  • के रूप में मैं का उपयोग कर नीचे समझाएँ आपको API -25 के लिए Google API छवि का उपयोग कर सकते हैं नए sdkmanager: 1

  • आप लीगेसी उपकरण का उपयोग कर के लिए एपीआई -25 को Google API छवि का उपयोग कर सकते हैं अगर आप img नाम पता: 1, 2, 3

  • हमें Google या किसी और से पूछने की आवश्यकता है कि इन एपीआई के लिए एआरएम एबीआई क्यों गुम हैं।

अद्यतन:A related bug पहले से ही गूगल को सूचित और here पर चर्चा की, कृपया, तो इसे तारांकित किया गया था:

किसी कारण यह खिड़कियों पर ही उपलब्ध होने के रूप में चिह्नित किया गया है के लिए। मैं नहीं यकीन है कि अगर इस ADRT खुद या इस पैकेज के लिए विन्यास साथ एक समस्या है हूँ, लेकिन शीघ्रता से अवलोकन से ऐसा लगता है जैसे कि यह शायद ADRT के साथ ही एक समस्या है।

enter image description here

enter image description here


मुझे यकीन है कि अगर एपीआई -25 मुद्दे से संबंधित है नहीं कर रहा हूँ, लेकिन मैं उम्मीद करते हैं कि यह संयोजन कई समाधान काम करेंगे:

  • उपयोग निर्माण मैट्रिक्स को सरल बनाने और एबीआई गायब होने से बचने के लिए google_apis के साथ सिस्टम छवियां।
  • उपयोग नई sdkmanager और avdmanager हाल Sdk उपकरण के लिए आवश्यक।
  • ट्रैविस-ci विन्यास को आसान बनाने या वैकल्पिक रूप से dist: precise का उपयोग के रूप में समझाया here को इन उपकरणों सहित नए भरोसेमंद छवियों का उपयोग करें।

बिल्ड मैट्रिक्स का उपयोग करके काम करने वाले नमूनों के नीचे दिए गए लिंक देखें जिसमें एपीआई -25 एमुलेटर शामिल है।


मैं एंड्रॉयड स्टूडियो के माध्यम से एक मैकबुक पर एपीआई 23 सिस्टम छवि एक बार अपडेट किया है और नए संस्करण के बारे संदेश दिखाई दिया मेरे कंप्यूटर द्वारा समर्थित नहीं था, इसलिए मैं google_apis एक का उपयोग करें।

मैं आशीष पाठक (मैं भी ardock) here द्वारा टिप्पणी issue के लिए एक संभावित समाधान प्रदान करता हूं।

मैं अपने प्रतिक्रिया नई ट्रैविस-ci छवियों कि नए एसडीके उपकरण के साथ आता है समर्थन करने के लिए अद्यतन करने के लिए की जरूरत है।

नया पहले से स्थापित Sdk उपकरण समाधान को आसान बनाने और आकार में YAML फ़ाइल कम हो जाएगा।


कारमेन Andoh और डोमिनिक Jodoin द्वारा की घोषणा की in this blog post 19 जून 2017 पर के रूप में:

अपडेट सभी उबंटू भरोसेमंद 14.04 छवियों

भरोसेमंद छवियों की इस नई पीढ़ी में पहले से ही उपलब्ध है के लिए आ रहे उत्पादन और समूह को जोड़कर इसका उपयोग किया जा सकता है: आपके .travis में किनारे।YML फ़ाइल:

sudo: required 
dist: trusty 

group: edge # Add this 

और जैसा कि here समझाया:

Android SDK 25.2.3 निर्माण उपकरण-:

थोड़ा के रूप में अधिक जानकारी के लिए इस नए एंड्रॉयड छवि के साथ आता है 25.0.2

नया sdkmanager टूल - एक कमांड लाइन उपकरण जो आपको देखने की अनुमति देता है, इंस्टॉल करें, आप पीडीएटी, और एंड्रॉइड एसडीके के लिए अनइंस्टॉल पैकेज। बदलता है पिछले Android उपकरण, https://developer.android.com/studio/tools/help/android.html

इसके अलावा, नए Android छवि रेट्रो-संगत होना चाहिए देखते हैं। एंड्रॉइड एसडीके घटकों की पूरी सूची देखें जो .travis.yml फ़ाइल में निर्दिष्ट की जा सकती है, जिसमें बिल्ड-टूल्स -26.0.0-पूर्वावलोकन शामिल है।

लेकिन वे नए avdmanager का उपयोग नहीं कर रहे हैं, मैं इसे इस सप्ताह के अंत में ठीक करने की कोशिश करूंगा।

वैकल्पिक रूप से, आप dist: precise जोड़ कर पिछली छवियों का उपयोग कर सकते हैं। नीचे


लाइनों का हिस्सा हैं my answer on a related question: छवियों जानकारी से पहले: sdkmanager और avdmanager का उपयोग कर

Full working sample using constraint-layout codelab repository for Android API level 22 to 25:

दो और नमूने:

संदर्भ

सरकारी Auto-download missing packages with Gradle

से संबंधित प्रलेखन new Emulator विकल्पों Start the Emulator from the Command Line

avdmanagerexplained here से वर्णन किया गया की जगह android avdSDK tools version 25.3.0 के बाद से

sdkmanagerexplained here कमांड लाइन

+0

आपकी मदद करने के लिए धन्यवाद। लेकिन दुर्भाग्यवश यह _currently_ कार्य विन्यास के लिए _any_ लिंक नहीं देता है। मैंने इस लंबी पोस्ट में सुझाए गए (tra think) के रूप में .travis.yml को अपडेट किया है, लेकिन एम्यूलेटर अभी भी "मैट्रिक्स" के बिना शुरू नहीं होता है :-( https://travis-ci.org/andstatus/andstatus देखें बीटीडब्ल्यू, तीन हफ्ते पहले मैंने ट्रैविस.सी बग ट्रैकर में एक मुद्दा बनाया था "एंड्रॉइड एमुलेटर 18 जून से पूरी तरह से शुरू नहीं होता है", और उस मुद्दे को कोई जवाब नहीं मिला :-(https://github.com/ट्रैविस-सीआई/ट्रैविस-सीआई/मुद्दों/7981 – yvolk

+0

आप सही हैं लेकिन यह एक [अलग मुद्दा] (https://stackoverflow.com/q/45060321/1009132) है जो नमूना बनाने के बाद दिखाई दिया। मैं अपने प्रोजेक्ट https://travis-ci.org/albodelu/andstatus/builds का उपयोग करके इस सप्ताहांत की जांच करें। यह प्रश्न एपीआई -25 के लिए लापता बांह प्रणाली छवि के बारे में है। – albodelu

+0

@yvolk मैं अगले सप्ताहांत जारी रखूंगा, कोई किस्मत नहीं। 26.1.2 बग किया गया है। अगर हम पिछले संस्करण का उपयोग करते हैं, तो स्मृति समस्या di sappears लेकिन ऐप किसी अन्य कारण के लिए स्थापित नहीं है। – albodelu

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