दिलचस्प पोस्ट
क्लाइंट-साइड इमेज प्रोसेसिंग मोकीटो के साथ स्थानीय स्कोप ऑब्जेक्ट के तरीकों का मजाक स्प्रिंग एमवीसी में स्थिर सामग्री को कैसे संभालना है? एक जावा 8 घड़ी के साथ एक कक्षा का परीक्षण इकाई Google ग्लास जीडीके: एंड्रॉइड डिवाइस के साथ कैसे संचार करें Web.xml में url- पैटर्न क्या है और सबलेट को कॉन्फ़िगर कैसे करें तीन रंगों में ढाल के साथ पैनल भरें ओएलएसन समय क्षेत्र से। समय समय क्षेत्र नियमित अभिव्यक्ति का उपयोग करके NSString के माध्यम से खोजें सबसे अच्छा क्रॉस प्लेटफॉर्म (पोर्टेबल) मनमाना परिशुद्धता गणित पुस्तकालय सीकेके से आने वाली सी फ़ाइलों के लिए सी + Android पॉपअपवंडो सक्रिय होने पर धुंधला या मंद पृष्ठभूमि कस्टम सदस्यताप्रदाता को .NET 4.0 में एसएसएल प्रमाणपत्र कैसे सत्यापित किए जाते हैं? मैं अपने टेम्पलेट के बिना किसी भी MySQL तालिका में सभी डुप्लिकेट रिकॉर्ड कैसे हटाऊं?

कॉर्डोवा कमांड लाइन इंटरफेस का उपयोग करके एक हस्ताक्षरित एपीके फ़ाइल कैसे तैयार करें?

यह मेरी पहली बार अपाचे कॉर्डोवा पर काम कर रहा है। मैंने checkStatus नामक नमूना एप्लिकेशन बनाया है अब मैं एक हस्ताक्षरित एपीके फ़ाइल बनाना चाहता हूं। इसलिए मैं अपने परीक्षण के लिए विभिन्न उपकरणों में इसे स्थापित कर सकता हूं।

इसके लिए, मैं गोगल गया और यह दस्तावेज़ीकरण पाया।

दस्तावेज़ के अनुसार, मैंने अपनी प्रोजेक्ट डायरेक्टरी को स्विच किया और निम्नलिखित कमांड चलाया:

 keytool -genkey -v -keystore key-name.keystore -alias alias-name -keyalg RSA -keysize 2048 -validity 10000 

उपरोक्त आदेश को चलाने के बाद, मुझे projectRoot/key-name.keystorekey-name.keystore पर key-name.keystore नाम नाम की एक फ़ाइल projectRoot/key-name.keystore

और फिर मैंने उस फ़ाइल को projectRoot/platforms/android/key-name.keystore में कॉपी और चिपकाया।

इसके बाद, मैंने ant.properties नामक एक फ़ाइल बनाई और इसे projectRoot/platforms/android में सहेज दिया projectRoot/platforms/android

मैंने फाइल के अंदर निम्नलिखित कोड लिखा था:

 key.store=projectRoot/key-name.keystore key.alias=myApp 

उसके बाद, मैं रिलीज़ करने के लिए निम्न कमांड चलाया

 Cordova builds android --release 

यह निम्न त्रुटि फेंक रहा है:

  /home/projectRoot/platforms/android/cordova/node_modules/q/q.js:126 throw e; ^ Error code 1 for command: ant with args: release,-f,/home/projectRoot/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen Error: /home/projectRoot/platforms/android/cordova/build: Command failed with exit code 8 at ChildProcess.whenDone (/usr/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23) at ChildProcess.EventEmitter.emit (events.js:98:17) at maybeClose (child_process.js:753:16) at Process.ChildProcess._handle.onexit (child_process.js:820:5) 

तो इस बार, मैंने key.store संशोधित किया। ant.properties फ़ाइल में ant.properties मूल्य जैसे कि निम्नलिखित तरीके से।

  key.store=/home/projectRoot/platforms/android/key-name.keystore 

दोबारा, मैंने cordova build android --release आदेश दिया – cordova build android --release कमांड यह उसी त्रुटि को फेंकता है

क्या कोई मुझे बता सकता है कि मैंने क्या किया है?

Solutions Collecting From Web of "कॉर्डोवा कमांड लाइन इंटरफेस का उपयोग करके एक हस्ताक्षरित एपीके फ़ाइल कैसे तैयार करें?"

चरण 1:

 D:\projects\Phonegap\Example> cordova plugin rm org.apache.cordova.console --save 

--save जोड़ें ताकि यह config.xml फ़ाइल से प्लग-इन को निकाल दे।

चरण 2:

एंड्रॉइड के लिए रिलीज़ बिल्ड बनाने के लिए, हमें सबसे पहले प्लेटफ़ॉर्म / एंड्रॉइड में मिली AndroidManifest.xml फ़ाइल में एक छोटा परिवर्तन करना होगा। फ़ाइल संपादित करें और पंक्ति को परिवर्तित करें:

 <application android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name"> 

और android:debuggable बदलें android:debuggable false करने android:debuggable है:

 <application android:debuggable="false" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name"> 

कॉर्डोवा 6.2.0 के अनुसार एंड्रॉइड हटाएं: डीबगेज टैग पूरी तरह से। कॉर्डोवा से स्पष्टीकरण दिया गया है:

"हार्डकॉडेड डिब्यूबोडोड" प्रकार के मुद्दों के लिए स्पष्टीकरण: एंड्रॉइड को छोड़ना सबसे अच्छा है: मैनिफेस्ट से डिबग करने योग्य विशेषता। यदि आप करते हैं, तो उपकरण स्वचालित रूप से एंड्रॉइड डालेंगे: डीबगएबल = सही जब किसी एपल्यूलेटर या डिवाइस पर डीबग करने के लिए एपीके का निर्माण करते हैं। और जब आप रिलीज़ बिल्ड करते हैं, जैसे कि एपीके निर्यात करना, तो वह इसे स्वचालित रूप से झूठे में सेट कर देगा।

दूसरी तरफ अगर आप मैनिफ़ेस्ट फ़ाइल में एक विशिष्ट मान निर्दिष्ट करते हैं, तो उपकरण हमेशा इसका उपयोग करेंगे इससे गलती से आपके ऐप को डीबग जानकारी के साथ प्रकाशित कर सकते हैं।

चरण 3:

अब हम कॉरडोवा को हमारे रिलीज बिल्ड को उत्पन्न करने के लिए कह सकते हैं:

 D:\projects\Phonegap\Example> cordova build --release android 

फिर, हम platforms/android/ant-build में हमारी अहस्ताक्षरित एपीके फ़ाइल पा सकते हैं। हमारे उदाहरण में, फ़ाइल platforms/android/ant-build/Example-release-unsigned.apk

चरण 4:

नोट: यदि आप किसी और को बनाना चाहते हैं, तो कृपया निम्नलिखित चरणों के साथ आगे बढ़ें: हम इस जीआईटी रिपो में हमारे मुख्यस्टोअर कीस्टोर keystoreNAME-mobileapps.keystore है।

कुंजी जनरेशन:

वाक्य – विन्यास:

 keytool -genkey -v -keystore <keystoreName>.keystore -alias <Keystore AliasName> -keyalg <Key algorithm> -keysize <Key size> -validity <Key Validity in Days> 

ईजीएस:

 keytool -genkey -v -keystore NAME-mobileapps.keystore -alias NAMEmobileapps -keyalg RSA -keysize 2048 -validity 10000 keystore password? : xxxxxxx What is your first and last name? : xxxxxx What is the name of your organizational unit? : xxxxxxxx What is the name of your organization? : xxxxxxxxx What is the name of your City or Locality? : xxxxxxx What is the name of your State or Province? : xxxxx What is the two-letter country code for this unit? : xxx 

फिर कुंजी स्टोर को NAME-mobileapps.keystore नाम से बनाया गया है

चरण 5:

उत्पन्न कुंजीस्टोर को इसमें रखें

पुराने संस्करण कॉर्डोबा

 D:\projects\Phonegap\Example\platforms\android\ant-build 

नया संस्करण कॉर्डोवा

 D:\projects\Phonegap\Example\platforms\android\build\outputs\apk 

अहस्ताक्षरित APK पर हस्ताक्षर करने के लिए, jarsigner उपकरण चलाएं जो कि जेडीके में भी शामिल है:

वाक्य – विन्यास:

 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <keystorename <Unsigned APK file> <Keystore Alias name> 

ईजीएस:

 D:\projects\Phonegap\Example\platforms\android\ant-build> jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore NAME-mobileapps.keystore Example-release-unsigned.apk xxxxxmobileapps 

या

 D:\projects\Phonegap\Example\platforms\android\build\outputs\apk> jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore NAME-mobileapps.keystore Example-release-unsigned.apk xxxxxmobileapps Enter KeyPhrase as 'xxxxxxxx' 

यह जगह में एपीके संकेत देता है

चरण 6:

अंत में, हमें एपीके को अनुकूलित करने के लिए ज़िप संरेखण उपकरण को चलाने की आवश्यकता है:

 D:\projects\Phonegap\Example\platforms\android\ant-build> zipalign -v 4 Example-release-unsigned.apk Example.apk 

या

 D:\projects\Phonegap\Example\platforms\android\ant-build> C:\Phonegap\adt-bundle-windows-x86_64-20140624\sdk\build-tools\android-4.4W\zipalign -v 4 Example-release-unsigned.apk Example.apk 

या

 D:\projects\Phonegap\Example\platforms\android\build\outputs\apk> C:\Phonegap\adt-bundle-windows-x86_64-20140624\sdk\build-tools\android-4.4W\zipalign -v 4 Example-release-unsigned.apk Example.apk 

अब हमारे पास हमारी अंतिम रिलीज़ बाइनरी है जिसे example.apk कहा जाता है और हम इसे Google Play Store पर रिलीज कर सकते हैं।

कॉर्डोवा 4 (और बाद में) के लिए @मलक्यूबिएर के लिए एक अपडेट –

APPFOLDER\platforms\android नामक फ़ाइल बनाएं और APPFOLDER\platforms\android फ़ोल्डर में डाल APPFOLDER\platforms\android

फ़ाइल की सामग्री: 2 के बाद संपादित करें = 2 लाइन के अलावा सभी के लिए

 storeFile=C:/yourlocation/app.keystore storeType=jks keyAlias=aliasname keyPassword=aliaspass storePassword=password 

फिर इस कमांड को रिलीज़ संस्करण बनाना चाहिए:

 cordova build android --release 

वर्तमान दस्तावेज में हम एक keystore के साथ build.json निर्दिष्ट कर सकते हैं:

 { "android": { "debug": { "keystore": "..\android.keystore", "storePassword": "android", "alias": "mykey1", "password" : "password", "keystoreType": "" }, "release": { "keystore": "..\android.keystore", "storePassword": "", "alias": "mykey2", "password" : "password", "keystoreType": "" } } } 

और फिर, कमांडो को –buildConfig तर्क के साथ निष्पादित करें, इस तरह:

 cordova run android --buildConfig 

चरण 1:

cordova\platforms\android चींटी पर ant.properties फाइल जानकारी के साथ ant.properties फ़ाइल नामक एक फ़ाइल बनाएँ (यह कीस्टोर अपने पसंदीदा एंड्रॉइड एसडीके, स्टूडियो … से उत्पन्न हो सकती है):

 key.store=C:\\yourpath\\Yourkeystore.keystore key.alias=youralias 

चरण 2:

कॉर्डोबा पथ पर जाएं और निष्पादित करें:

 cordova build android --release 

नोट: आपको अपने कुंजीस्टोर और कुंजी पासवर्ड पूछने के लिए प्रेरित किया जाएगा

आपका ऐप- release.apk \cordova\platforms\android\ant-build में दिखाई देगा

कॉर्डोबा 6.2.0 में , रिलीज बिल्ड बनाने के लिए इसका एक आसान तरीका है। यहां दिए गए अन्य चरणों का उल्लेख चरण 1, 2 और 4

 cd cordova/ #change to root cordova folder platforms/android/cordova/clean #clean if you want cordova build android --release -- --keystore="/path/to/keystore" --storePassword=password --alias=alias_name #password will be prompted if you have any 

मैक (ओएसएक्स) पर, मैंने दो .sh फाइलें उत्पन्न कीं, पहला प्रकाशन के लिए एक और अपडेट करने के लिए दूसरा एक:

 #!/bin/sh echo "Ionic to Signed APK ---- b@agencys.eu // Benjamin Rathelot\n" printf "Project dir : " read DIR printf "Project key alias : " read ALIAS cd $DIR/ cordova build --release android cd platforms/android/build/outputs/apk/ keytool -genkey -v -keystore my-release-key.keystore -alias $ALIAS -keyalg RSA -keysize 2048 -validity 10000 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore android-release-unsigned.apk $ALIAS zipalign -v 4 android-release-unsigned.apk signedApk.apk 

और अपने ऐप को अपडेट करने के लिए:

 #!/bin/sh echo "Ionic to Signed APK ---- b@agencys.eu // Benjamin Rathelot\n" printf "Project dir : " read DIR printf "Project key alias : " read ALIAS cd $DIR/ cordova build --release android cd platforms/android/build/outputs/apk/ rm signedApk.apk jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore android-release-unsigned.apk $ALIAS zipalign -v 4 android-release-unsigned.apk signedApk.apk 

यह मानते हुए कि आप अपने होम फोल्डर में हैं या अपने ऐप फ़ोल्डरों को टॉप करने वाले फ़ोल्डर हैं। इस स्क्रिप्ट का उपयोग करने के लिए सही ढंग से chmod सेट करना सुनिश्चित करें फिर :

 ./ionicToApk.sh # or whatever depending of the name of your file, in CLI 

आपका हस्ताक्षरित एपीके आपके ऐप फ़ोल्डर / प्लेटफॉर्म्स / एंड्रॉइड / बिल्ड / आउटपुट / एपीके / SignedApk.apk में होगा, पहले स्क्रिप्ट के साथ सही कुंजी उपनाम और पासवर्ड परिभाषित करना सुनिश्चित करें

यदि आप अपना ऐप अपडेट कर रहे हैं तो पहले अपने संस्करण कोड और संस्करण का नाम देखें और सुनिश्चित करें कि आपके पास पिछले कीस्टोर है

यदि आप ऐप अद्यतन कर रहे हैं तो चरण 1,3,4 का अनुसरण करें

चरण 1:

हमारे रिलीज बिल्ड को बनाने के लिए आपके कॉर्डोवा परियोजना पर जाएँ:

 D:\projects\Phonegap\Example> cordova build --release android 

फिर, हम प्लेटफॉर्म्स / एंड्रॉइड / एंट-बिल्ड में हमारी अहस्ताक्षरित एपीके फ़ाइल पा सकते हैं। हमारे उदाहरण में, फ़ाइल थी

अगर यू ने एंट-बिल्ड का इस्तेमाल किया

 yourproject/platforms/android/ant-build/Example-release-unsigned.apk 

या

अगर यू ने ग्रेडेल-बिल्ड का उपयोग किया

 yourProject/platforms/android/build/outputs/apk/Example-release-unsigned.apk 

चरण 2:

कुंजी जनरेशन:

वाक्य – विन्यास:

 keytool -genkey -v -keystore <keystoreName>.keystore -alias <Keystore AliasName> -keyalg <Key algorithm> -keysize <Key size> -validity <Key Validity in Days> 

यदि keytool आदेश इस चरण को पहचान नहीं सकता है

जाँच करें कि कुंजीटोल निष्पादन योग्य निर्देशिका में आपके पथ पर है। (उदाहरण के लिए, मेरे विंडोज 7 मशीन पर, यह सी में है: \ प्रोग्राम फ़ाइलें (x86) \ जावा \ जेआर 6 \ bin।)

उदाहरण:

 keytool -genkey -v -keystore NAME-mobileapps.keystore -alias NAMEmobileapps -keyalg RSA -keysize 2048 -validity 10000 keystore password? : xxxxxxx What is your first and last name? : xxxxxx What is the name of your organizational unit? : xxxxxxxx What is the name of your organization? : xxxxxxxxx What is the name of your City or Locality? : xxxxxxx What is the name of your State or Province? : xxxxx What is the two-letter country code for this unit? : xxx 

फिर कुंजी स्टोर को NAME-mobileapps.keystore नाम से बनाया गया है

चरण 3:

डी: \ परियोजनाओं \ फोनगैप \ उदाहरण \ प्लेटफार्मों \ एंड्रॉइड \ चींटी-बिल्ड में जेनरेट कीस्टस्टोर को रखें

अहस्ताक्षरित APK पर हस्ताक्षर करने के लिए, jarsigner उपकरण चलाएं जो कि जेडीके में भी शामिल है:

वाक्य – विन्यास:

 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <keystorename <Unsigned APK file> <Keystore Alias name> 

अगर यह इन चरणों को दोबारा नहीं करता है

(1) "यह पीसी" पर राइट क्लिक करें> राइट-क्लिक करें गुण> उन्नत सिस्टम सेटिंग्स> पर्यावरण चर> फिर पैट चुनें चुनें।

(2) पर्यावरण चर के लिए अपने jdk bin फ़ोल्डर पथ जोड़ें, यह इस तरह दिखना चाहिए:

"सी: \ प्रोग्राम फ़ाइलें \ जावा \ jdk1.8.0_40 \ bin"।

उदाहरण:

 D:\projects\Phonegap\Example\platforms\android\ant-build> jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore NAME-mobileapps.keystore Example-release-unsigned.apk xxxxxmobileapps Enter KeyPhrase as 'xxxxxxxx' 

यह जगह में एपीके संकेत देता है

चरण 4:

अंत में, हमें एपीके को अनुकूलित करने के लिए ज़िप संरेखन उपकरण चलाने की जरूरत है:

अगर zipalign फिर पहचान नहीं है

(1) अपने एंड्रॉइड एसडीके पथ को प्राप्त करें और ज़िप-साइनइन को ढूंढें यह आमतौर पर एंड्रॉइड-एसडीके \ बिल्ड-टूल्स \ 23.0.3 में है

(2) अपने जनरेटेड रिलीज एपीके फ़ोल्डर में पेस्ट कॉपी करें

/ उदाहरण रिलीज-unsigned.apk yourproject / प्लेटफार्मों / एंड्रॉयड / चींटी-निर्माण

 D:\projects\Phonegap\Example\platforms\android\ant-build> zipalign -v 4 Example-release-unsigned.apk Example.apk 

या

 D:\projects\Phonegap\Example\platforms\android\ant-build> C:\Phonegap\adt-bundle-windows-x86_64-20140624\sdk\build-tools\android-4.4W\zipalign -v 4 Example-release-unsigned.apk Example.apk 

अब हमारे पास हमारी अंतिम रिलीज़ बाइनरी है जिसे example.apk कहा जाता है और हम इसे Google Play Store पर रिलीज कर सकते हैं।