কর্ডোভা কমান্ড লাইন ইন্টারফেস ব্যবহার করে কীভাবে একটি স্বাক্ষরিত APK ফাইল তৈরি করবেন?


169

নাম দিয়েছি একটি নমুনা আবেদন checkStatus। এখন আমি একটি স্বাক্ষরিত APK ফাইল তৈরি করতে চাই। সুতরাং আমি আমার পরীক্ষার জন্য এটি বিভিন্ন ডিভাইসে ইনস্টল করতে পারি।

এর জন্য, আমি গুগল করেছিলাম এবং এই ডকুমেন্টেশনটি পেয়েছি ।

দস্তাবেজ অনুসারে, আমি আমার প্রকল্প ডিরেক্টরিতে স্যুইচ করেছি এবং নিম্নলিখিত কমান্ডটি চালিয়েছি:

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

পরে আমি উপরের কমান্ড দৌড়ে আমি নামের একটি ফাইল পেয়েছি key-name.keystoreprojectRoot/key-name.keystore

এবং তারপরে আমি সেই ফাইলটি অনুলিপি করলাম projectRoot/platforms/android/key-name.keystore

এর পরে, আমি একটি ফাইল তৈরি করেছি ant.propertiesএবং এটিতে সংরক্ষণ করেছি 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

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

আবার, আমি cordova build android --releaseকমান্ড চালানো। এটি একই ত্রুটি ছুড়ে ফেলে।

কেউ কি আমাকে বলতে পারে আমি কী ভুল করেছি?


উত্তর:


305

ধাপ 1:

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

এটি যুক্ত করুন --saveযাতে এটি config.xmlফাইল থেকে প্লাগইনটিকে সরিয়ে দেয় ।

ধাপ ২:

অ্যান্ড্রয়েডের জন্য একটি রিলিজ বিল্ড তৈরি করতে, আমাদের প্রথমে AndroidManifest.xmlপ্ল্যাটফর্ম / অ্যান্ড্রয়েডে পাওয়া ফাইলটিতে একটি ছোট পরিবর্তন করা দরকার । ফাইলটি সম্পাদনা করুন এবং লাইনটি পরিবর্তন করুন:

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

এবং এতে পরিবর্তন android:debuggableকরুন false:

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

কর্ডোভা 6.2.0 হিসাবে অ্যান্ড্রয়েড: ডিবাগযোগ্য ট্যাগ সম্পূর্ণভাবে সরান। কর্ডোভা থেকে ব্যাখ্যা এখানে:

"হার্ডকোডডবেগমোড" টাইপের ইস্যুগুলির জন্য ব্যাখ্যা: ম্যানিফেস্ট থেকে অ্যান্ড্রয়েড: ডিবাগযোগ্য গুণটি ছেড়ে দেওয়া ভাল। যদি আপনি এটি করেন, তবে সরঞ্জামগুলি স্বয়ংক্রিয়ভাবে অ্যান্ড্রয়েড willোকাবে: ডিবেগেবল = সত্য যখন একটি এমুলেটর বা ডিভাইসে ডিবাগ করার জন্য একটি APK তৈরি করে। এবং আপনি যখন APK প্রকাশের মতো কোনও রিলিজ বিল্ড সম্পাদন করেন, এটি স্বয়ংক্রিয়ভাবে এটি মিথ্যাতে সেট হয়ে যায়।

অন্যদিকে আপনি যদি ম্যানিফেস্ট ফাইলটিতে একটি নির্দিষ্ট মান নির্দিষ্ট করে থাকেন তবে সরঞ্জামগুলি সর্বদা এটি ব্যবহার করবে। এটি আপনার অ্যাপটি দুর্ঘটনাক্রমে ডিবাগ তথ্যের সাথে প্রকাশ করতে পারে to

ধাপ 3:

এখন আমরা কর্ডোভা আমাদের মুক্তির বিল্ড তৈরি করতে বলতে পারি:

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

তারপরে, আমরা আমাদের স্বাক্ষর না করা APK ফাইলটি খুঁজে পেতে পারি 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>

Egs:

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

স্বাক্ষরবিহীন এপিএকে স্বাক্ষর করতে, জারসিগনার সরঞ্জামটি চালান যা জেডিকে অন্তর্ভুক্ত রয়েছে:

বাক্য গঠন:

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

Egs:

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'

এটি জায়গায় APK কে স্বাক্ষর করে।

পদক্ষেপ::

অবশেষে, APK টি অনুকূলিতকরণের জন্য আমাদের জিপ সারিবদ্ধ সরঞ্জাম চালানো দরকার:

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

এখন আমাদের কাছে আমাদের চূড়ান্ত রিলিজের বাইনারি রয়েছে উদাহরণস্বরূপ ap অ্যাপক এবং আমরা এটি গুগল প্লে স্টোরে প্রকাশ করতে পারি।


9
ঠিক আছে আমি আপনার চিন্তা গ্রহণ করি। তবে আমার কাছে ব্যক্তিগত গিট সংগ্রহস্থল রয়েছে এবং মোবাইল অ্যাপে কাজের জন্য আমাদের একটি দল রয়েছে। সুতরাং এটি আমার জন্য আরামদায়ক।
সিএফপ্রভু

5
Org.apache.cordova.console অপসারণ করা কেন গুরুত্বপূর্ণ ছিল?
foreyez

5
@cfprabhu পদক্ষেপ 5 একটি সতর্কতা ছুড়ে দিচ্ছে "নো -tsa বা -tsacert সরবরাহ করা হয়েছে এবং এই জারটি টাইমস্ট্যাম্পড নয়"। কমান্ডটিতে "-tsa টাইমস্ট্যাম্প.ডিজিকার্ট ডট কম" যোগ করে এটি স্থির করুন। অন্যান্য ব্যবহারকারীর জন্য উপযোগী হতে পারে
থমাস বোর্ম্যানস

6
ওএসএক্সের অধীনে জিপালিগনটি ~ / লাইব্রেরি / অ্যান্ড্রয়েড / এসডিকে / বিল্ড-সরঞ্জামগুলিতে / 22.0.1 / জিপালিগনে পাওয়া যায়
চিলওওয়াকার

2
@ থমাস -tsa timestamp.digicert.comবর্ম্যানস আমার জন্য কোনওভাবে নালপয়েন্টারএক্সেপশন ছুড়ে দিয়েছে। -tsa http://timestamp.digicert.comএটি ঠিক করছে বলে মনে হচ্ছে
টমাস

123

কর্ডোভা 4 (এবং পরে) এর জন্য @ মালকুবিয়েরে একটি আপডেট -

কল release-signing.propertiesকরা এবং APPFOLDER\platforms\androidফোল্ডারে রেখে একটি ফাইল তৈরি করুন

ফাইলের বিষয়বস্তু: ২ য় লাইন বাদে সকলের জন্য = পরে সম্পাদনা করুন

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

তারপরে এই কমান্ডটি একটি রিলিজ সংস্করণ তৈরি করা উচিত:

cordova build android --release

2
ধন্যবাদ! আপনি নিজের সম্পত্তি ফাইলের নাম / অবস্থান পরিবর্তন করতে পারেন, তবে আপনাকে কোনও build-extras.gradleফাইলের মধ্যে নির্দিষ্ট করতে হবে। এখানে প্রাসঙ্গিক কর্ডোভা ডক ।
ডানক

আমার অ্যাপ্লিকেশনটি পরবর্তী সংস্করণে আপডেট পাচ্ছে না, পিঁপড়া বিল্ডে তৈরি প্রথম সংস্করণ (কর্ডোভা 3)। আমি আমার কর্ডোভা 6.0.0 এ আপগ্রেড করেছি এখন দ্বিতীয় সংস্করণ গ্রেড বিল্ডে তৈরি হয়েছে, আমি সাইনড এপিপি তৈরি করতে সর্বশেষ কর্ডোভা ডক অনুসরণ করেছি তবে এখনও আমার অ্যাপ আপডেট হচ্ছে না। আমি ওয়েবে সমস্ত তথ্য দিয়েছি তবে এখনও কোথাও ভুল হয়ে যাচ্ছে। দয়া করে আমাকে @ ডানক
এনজিবি

@ নতুন আমি কর্ডোভা 5.2.0 ব্যবহার করছি, অন্যান্য সংস্করণ> 5 নিয়ে বিভিন্ন সমস্যা ছিল 5.. আপনি পরামর্শ দিচ্ছেন যে আপনি যদি চেষ্টা করেন তবে চেষ্টা করুন । তারপরে, যদি এখনও সমস্যা হয় তবে আমি একটি নতুন প্রশ্ন জিজ্ঞাসা করার পরামর্শ দিই।
ডানক

তবুও সমস্যা হচ্ছে, অ্যাপের নতুন সংস্করণ বিদ্যমান অ্যাপ্লিকেশন থেকে ডাউনলোড হচ্ছে না। @ ডাঙ্ক
এনজিবি

@ যে কোনও সমাধান ডানক করুন
এনজিবি

52

বর্তমান ডকুমেন্টেশনে আমরা কীস্টোর সহ একটি বিল্ড জাজন নির্দিষ্ট করতে পারি:

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

এবং তারপরে, কমান্ডোটি --buildConfig argumante দিয়ে এভাবে চালিত করুন:

cordova run android --buildConfig

2
অসাধারণ <3 আপনার উত্তরটি এমন ফাইলগুলির বিষয়ে যা আমি সংস্করণটি নিয়ন্ত্রণ করতে পারি!
গুস্তাভোহনেকে

3
কোন ডিরেক্টরিতে এই জসন থাকা উচিত?
বেলফিগোর

6
Cordova বিল্ড --release অ্যানড্রইড
দয়া

2
Keystore ফাইলের সাথে root প্রকল্প ফোল্ডারে build.json রাখুন। আমি সাইন ইন করার জন্য এটি সবচেয়ে কার্যকর ঝামেলা মুক্ত পদ্ধতি।
জোয়েল ক্যাটন

1
কিছু কারণে ফাইলের পথটি আমাকে "../android.keystore" এ পরিবর্তন করতে হয়েছিল। (ফরোয়ার্ড স্ল্যাশ)
দিলহান জয়থিলকে

20

ধাপ 1:

কীটস্টোর ফাইল তথ্যের cordova\platforms\androidসাহায্যে পিপীলিকা যান ant.propertiesফাইল নামে একটি ফাইল তৈরি করুন (এই কীস্টোরটি আপনার প্রিয় অ্যান্ড্রয়েড এসডিকে, স্টুডিও থেকে তৈরি করা যেতে পারে ...):

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

ধাপ ২:

কর্ডোভা পথে যান এবং সম্পাদন করুন:

cordova build android --release

দ্রষ্টব্য: আপনাকে আপনার কীস্টোর এবং কী পাসওয়ার্ড জিজ্ঞাসা করা হবে

একটি আপনার অ্যাপ্লিকেশন-রিলিজ.এপকে উপস্থিত হবে \cordova\platforms\android\ant-build


1
এখানে কাজ সমাধান ilee.co.uk/Sign-Releases-with-Cordova-Android
redrom


কর্ডোভা 5 নাম ফাইল "ant.properties" এর পরিবর্তে "রিলিজ-সাইনিং.প্রোপার্টি"; অন্যান্য সমস্ত পদক্ষেপগুলি হুবহু @ ম্যালকুবিয়েরে বর্ণিত
মারিও অরল্যান্ডি

APK এর নতুন সংস্করণ কর্ডোভা 6.0.0 তে বিদ্যমান অ্যাপ থেকে ডাউনলোড হচ্ছে না। আমি এখনও সমস্ত সমস্যা সমাধান করেছি যা আমার সমস্যার সমাধান করেনি আপনি আমাকে @ মারিও অরল্যান্ডি
এনজিবি

11

কর্ডোভা 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

আমি The system cannot find the file specifiedকর্ডোভা 6.2.0
এমআর 5

আপনি কি কীস্টোরের পথটি প্রতিস্থাপন করেছেন? যদি তা হয় তবে কমান্ডটি এখানে পোস্ট করুন।
KrIsHnA

হাঁ। এটিcordova build android --release -- --keystore="C:\release.keystore" --storePassword=****** --alias=mr5
মিঃ 5

1
"(ডাবল উদ্ধৃতি) দিয়ে আমার পাসওয়ার্ডটি বন্ধ করার পরে , এটি চলতে শুরু করে। আমি মনে করি কর্ডোভা বিশেষ চরিত্রে পার্সিং সম্পর্কে একটি সমস্যা আছে।
এমআর 5

যদি কেউ আয়নিক ব্যবহার করেন তবে আপনি এই দস্তাবেজটি আয়নিকফ্রেমওয়ার্ক.com
ট্রান

7

ম্যাক (অক্স) এ, আমি দুটি .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 হিসাবে থাকবে প্রথম স্ক্রিপ্টের সাথে সংজ্ঞায়িত সঠিক কী ওরফে এবং পাসওয়ার্ড ব্যবহার করতে ভুলবেন না


2

কর্ডোভা মুক্তির APK ফাইলটি সেমিডিতে তৈরি করুন।

মূল স্টোর ফাইল পাঠ: কীস্টোর ফাইলের পথ (এফ: / কর্ডোভা / মাই অ্যাপ / এমএক্সএক্সএক্সএক্সএক্স)

মূল স্টোর পাসওয়ার্ড : এক্সএক্সএক্সএক্সএক্সএক্স

মূল স্টোর এলিয়াস : এক্সএক্সএক্সএক্সএক্সএক্স

মূল স্টোর এলিয়াস পাসওয়ার্ড : এক্সএক্সএক্সএক্সএক্সএক্স

জিপালিগন.এক্সইএইচএফের পাঠ্য : জিপালাইগন.এক্সি ফাইল পাথ (সি: \ ব্যবহারকারীরা xxxx \ অ্যাপডাটা \ স্থানীয় ata অ্যান্ড্রয়েড \ এসডিকে \ বিল্ড-সরঞ্জামগুলি \ 25.0.2 \ জিপালাইন)

অ্যান্ড্রয়েড আনসিগড এপিডে নাম : অ্যান্ড্রয়েড-রিলিজ-স্বাক্ষরিত.এপকে

অ্যান্ড্রয়েড রিলিজ এপিপি নাম : android-release.apk

সেন্টিমিডে পদক্ষেপের নীচে দৌড়া (প্রশাসক হিসাবে চালানো)

  1. কর্ডোভা বিল্ড - রিলিজ অ্যান্ড্রয়েড
  2. অ্যান্ড্রয়েড-রিলিজ-স্বাক্ষরবিহীন.এপিপি ফাইলের স্থানে যান (প্রোজেক্ট \ প্ল্যাটফর্মগুলি \ অ্যান্ড্রয়েড \ বিল্ড \ আউটপুটস k এপিপি)
  3. jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore < মূল স্টোর ফাইল পাঠ > < অ্যান্ড্রয়েড অ্যানিপডেড এপিপি নাম > < কী স্টোর আলিয়াস >
  4. < জিপলইন.এক্সইএক্সের প্যাট > -ভি 4 < অ্যান্ড্রয়েড অ্যাসিপড এপিপি নাম > < অ্যান্ড্রয়েড রিলিজ এপিপি নাম >

1
##Generated signed apk from commandline
#variables
APP_NAME=THE_APP_NAME
APK_LOCATION=./
APP_HOME=/path/to/THE_APP
APP_KEY=/path/to/Android_key
APP_KEY_ALIAS=the_alias
APP_KEY_PASSWORD=123456789
zipalign=$ANDROID_HOME/build-tools/28.0.3/zipalign

#the logic
cd $APP_HOME
cordova build --release android
cd platforms/android/app/build/outputs/apk/release
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore $APP_KEY ./app-release-unsigned.apk $APP_KEY_ALIAS <<< $APP_KEY_PASSWORD
rm -rf "$APK_LOCATION/$APP_NAME.apk"
$zipalign -v 4 ./app-release-unsigned.apk "$APK_LOCATION/$APP_NAME.apk"
open $APK_LOCATION
#the end

0

আপনি যদি নিজের অ্যাপ্লিকেশনটি আপডেট করে থাকেন তবে প্রথমে আপনার সংস্করণ কোড এবং সংস্করণের নাম পরীক্ষা করুন। এবং আপনার আগের কীস্টোর রয়েছে তা নিশ্চিত করুন।

আপনি যদি অ্যাপটি আপডেট করে থাকেন তবে 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

ধাপ ২:

কী জেনারেশন:

বাক্য গঠন:

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

কীটল কমান্ড স্বীকৃতি না দিলে এই পদক্ষেপটি করুন

কীটোল নির্বাহযোগ্য ডিরেক্টরিটি আপনার পথে রয়েছে তা পরীক্ষা করুন। (উদাহরণস্বরূপ, আমার উইন্ডোজ 7 মেশিনে এটি সি: \ প্রোগ্রাম ফাইলগুলিতে রয়েছে (x86) \ জাভা \ জ্রে 6 \ বিন))

উদাহরণ:

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:

উত্পাদিত কীস্টোর ডি তে রাখুন: \ প্রকল্পগুলি \ ফোনগ্যাপ \ উদাহরণ \ প্ল্যাটফর্মগুলি \ অ্যান্ড্রয়েড \ পিঁপড়া

স্বাক্ষরবিহীন এপিএকে স্বাক্ষর করতে, জারসিগনার সরঞ্জামটি চালান যা জেডিকে অন্তর্ভুক্ত রয়েছে:

বাক্য গঠন:

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

যদি এটি পুনরায় সমন্বিত না হয় তবে এই পদক্ষেপগুলি করুন

(1) "এই পিসি" এ ডান ক্লিক করুন> বৈশিষ্ট্য> উন্নত সিস্টেম সেটিংস> পরিবেশগত পরিবর্তনসমূহ> PATH তারপরে সম্পাদনা নির্বাচন করুন।

(২) পরিবেশের ভেরিয়েবলগুলিতে আপনার jdk বিন ফোল্ডার পাথ যুক্ত করুন, এটি দেখতে এই জাতীয় হওয়া উচিত:

"সি: \ প্রোগ্রাম ফাইল \ জাভা \ jdk1.8.0_40 \ বিন"।

উদাহরণ:

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'

এটি জায়গায় APK কে স্বাক্ষর করে।

পদক্ষেপ 4:

অবশেষে, APK টি অনুকূলিতকরণের জন্য আমাদের জিপ সারিবদ্ধ সরঞ্জাম চালানো দরকার:

জিপালাইন যদি না চিনতে পারে

(1) আপনার অ্যান্ড্রয়েড এসডিকে পাথটি পেয়ে যান এবং জিপলাইন সন্ধান করুন এটি সাধারণত অ্যান্ড্রয়েড-এসডিকে \ বিল্ড-সরঞ্জামগুলিতে থাকে \ 23.0.3

(২) জিপালাইন ফাইলের পেস্টটি আপনার উত্পন্ন উত্স এপিপি ফোল্ডারে সাধারণত নীচের পথে কপি করুন

yourproject / প্ল্যাটফর্মের / অ্যান্ড্রয়েড / পিপীলিকা-বিল্ড / উদাহরণ রিলিজ-unsigned.apk

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

এখন আমাদের কাছে আমাদের চূড়ান্ত রিলিজের বাইনারি রয়েছে উদাহরণস্বরূপ ap অ্যাপক এবং আমরা এটি গুগল প্লে স্টোরে প্রকাশ করতে পারি।


0

উইন্ডোজের জন্য, আমি একটি build.cmdফাইল তৈরি করেছি :

(কীস্টোরের পাথ এবং ওরফে প্রতিস্থাপন)

কর্ডোভার জন্য:

@echo off 
set /P spassw="Store Password: " && set /P kpassw="Key Password: " && cordova build android --release -- --keystore=../../local/my.keystore --storePassword=%spassw% --alias=tmpalias --password=%kpassw%

এবং আয়নিকের জন্য:

@echo off 
set /P spassw="Store Password: " && set /P kpassw="Key Password: " && ionic build --prod && cordova build android --release -- --keystore=../../local/my.keystore --storePassword=%spassw% --alias=tmpalias --password=%kpassw%

এটি টুটোজেক্টের ডিরেক্টরিতে সংরক্ষণ করুন, আপনি ডাবল ক্লিক করতে পারেন বা এটি সেন্টিমিডি দিয়ে খুলতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.