2014-05-02 18 views
13

पर स्वचालित प्रकाशित बीटा एंड्रॉइड ऐप मैं अपने सीआई सर्वर से Google Play store पर अल्फा और बीटा परीक्षण स्ट्रीम दोनों में स्वचालित रूप से एप्लिकेशन को प्रकाशित करने के लिए उपयोग कर सकता हूं।Google Play store

मेरे सीआई सेटअप इस प्रकार है:

  1. Android एप्लिकेशन Android स्टूडियो (का उपयोग कर ग्रहण वास्तव में हमारे लिए एक विकल्प नहीं है) का उपयोग कर लिखा है।
  2. बिल्ड स्क्रिप्ट रैक में लिखी जाती हैं, और ग्रैडल कार्यों को चलाने के साथ-साथ कैलाबैश-एंड्रॉइड परीक्षण चलाती हैं।
  3. बिल्ड सर्वर टीमसिटी 8+ है, जिसे वर्तमान में स्थानीय रूप से होस्ट किया जाता है (हालांकि हम क्लाउड में जेनकींस में जा सकते हैं)।

, केवल एक ही पाया API to automatically upload apk to Google Play? है इस प्रश्न का उत्तर के लिए stackoverflow के माध्यम से स्कैन करने के बाद इसका जवाब साल लेकिन एक वर्ष से अधिक है, और जैसा कि हम सभी जानते हैं कि एक साल सॉफ्टवेयर के विकास में एक जीवन भर है, इसलिए मैं उम्मीद है कि चीजों में कुछ सुधार हुआ होगा।

मेरे पास इन दो धाराओं को प्रकाशित करने के बाद एक उप-प्रश्न भी है, टेस्टर्स को स्टोर में उन्हें देखने में कितना समय लगेगा? मैं 24 से 48 घंटों सुन रहा हूं, जो उत्पादन में प्रकाशित ऐप्स पर विचार करते हैं, केवल कुछ घंटों में थोड़ा अजीब लगता है।

+2

ब्रांड-स्पैंकिंग-नया: Google ने अभी प्रकाशित-एपीआई उपलब्ध कराया है। प्रलेखन की जांच करें @ https://developers.google.com/android-publisher/#publishing क्षमा करें - अभी तक कोई पूरा समाधान नहीं है, मैं खुद ही सेटअप के माध्यम से अपना रास्ता काम कर रहा हूं ... – edovino

+0

इस प्रश्न की स्थिति क्या है? –

+0

@pauljriley क्या आप साझा कर सकते हैं कि आप स्टोर खेलने के लिए एपीके कैसे अपलोड करते हैं? – Erum

उत्तर

19

अपडेट: प्लगइन अब मैवेन सेंट्रल से com.savillians.gradle:android-publisher:0.4 के रूप में उपलब्ध है। इसे build.gradle में अपनी बिल्डस्क्रिप्ट परिभाषा में जोड़ें और जैसा कि मैंने नीचे बताया है उसे लागू करें।

मेरे पास एक ही प्रश्न था, और @ edovino की टिप्पणी और Google Play API नमूने के लिए धन्यवाद, मैं एक ग्रेबल प्लगइन बनाने में सक्षम था जो आपके इच्छित स्वाद/संस्करण के लिए इच्छित किसी भी ट्रैक को प्रकाशित करता है। https://github.com/bluesliverx/gradle-android-publisher

मैं इस केंद्रीय maven करने के लिए तो यह एक निर्माण स्क्रिप्ट में इस्तेमाल किया जा सकता प्रकाशित करने पर काम कर रहा हूँ, लेकिन अभी आप रेपो में android-publisher उपनिर्देशिका प्राप्त कर सकते हैं, में रख:

यहाँ स्रोत देखें अपने ग्रेडल बिल्ड की जड़, और फ़ोल्डर को buildSrc पर पुनर्नामित करें। आप प्रकाशित करना चाहते हैं एंड्रॉयड परियोजना के लिए build.gradle फ़ाइल में निम्न पंक्ति का उपयोग करें:

apply plugin: com.savillians.gradle.androidpublisher.AndroidPublisherPlugin 

तब आप अपने प्रकाशन की सेटिंग build.gradle फ़ाइल में एक androidPublisher ब्लॉक का उपयोग कर सकते हैं।

android { 
    ... 
} 
androidPublisher { 
    applicationName = "Company-Name-Product-Name/1.0" 
    packageName = "<package name>" 
    serviceAccountEmail = "<service account email>" 
    serviceAccountKeyFile = file('<p12 keyfile - NOT the json file>') 
    track = "alpha" // default, don't need to specify 
    variantName = "release" // default, don't need to specify 
} 

यकीन है कि सेवा खाते आपके द्वारा बनाए गए है "रिलीज प्रबंधक" अनुमति बनाओ, p12 कुंजी फ़ाइल डाउनलोड करने और परियोजना की निर्देशिका में डाल दिया। फिर यह आदेश चलाएं:

gradle androidPublish 

यह आपके द्वारा निर्दिष्ट प्रमाण-पत्रों का उपयोग करके Google Play पर भेज देगा। शुभकामनाएं और मुझे बताएं कि क्या आपके पास कोई सवाल है क्योंकि यह नया है।

+0

मैं वर्तमान में इस प्लगइन का उपयोग करने की कोशिश कर रहा हूं, लेकिन प्लगइन और क्लासपाथ कॉन्फ़िगरेशन मेल नहीं खाता है। कहते हैं कि यह निर्दिष्ट प्लगइन नहीं मिल सकता है। – user1810737

+0

और यह कैसे पता चलता है कि कौन से एपीके का उपयोग करना है? – user1810737

+0

@ user1810737, क्या आपने इसे सामान्य निर्भरताओं के बजाय बिल्डस्क्रिप्ट कॉन्फ़िगरेशन ब्लॉक में जोड़ा था? यह तय करने के लिए कि कौन सी एपीके प्राप्त करने के लिए variantName का उपयोग करता है। रिलीज का डिफ़ॉल्ट ठीक काम करना चाहिए जबतक कि आप अपने स्वयं के रूपों को परिभाषित न करें। – bksaville

5

यदि आप Jenkins का उपयोग कर रहे हैं, तो Google Play Android Publisher Plugin आपको स्वचालित रूप से अल्फा या बीटा बिल्ड अपलोड करने देता है।

उदाहरण के लिए आप अल्फा, बीटा, या बीटा से एक चरणबद्ध रोलआउट में एपीके को "प्रचारित" करने के लिए भी इसका उपयोग कर सकते हैं।

एकाधिक एपीके समर्थन और अपलोड करने की क्षमता (या पुन: उपयोग) विस्तार फ़ाइलों को भी शामिल किया गया है।

जेनकींस में क्रेडेंशियल्स कार्यक्षमता के साथ एकीकृत करके, प्लगइन सुरक्षित रूप से आपके Google Play खाते (खातों) को सुरक्षित रूप से रिपोजिटरी या इसी तरह की जांच के बिना एक्सेस कर सकता है।