ফোনগ্যাপ 3.x সি এল এল এ অ্যান্ড্রয়েড রিলিজ এপিপি তৈরি করুন


108

মুক্ত করার জন্য প্রস্তুত, আমি কীভাবে ফোনগ্যাপ ৩.x সিএলআই ব্যবহার করে স্থানীয়ভাবে একটি অ্যান্ড্রয়েড অ্যাপ তৈরি করতে পারি? আমি এই প্রকল্পের প্ল্যাটফর্মগুলি / অ্যান্ড্রয়েড ডিরেক্টরিতে তৈরি বিন ফোল্ডারটি চেক করি এবং কেবলমাত্র .debug APK আছে।

যাইহোক, আমি এই আদেশটি ব্যবহার করি: phonegap local build android

উত্তর:


153

এটি ফোনগ্যাপ 3.0.x থেকে 3.3.x এর জন্য is ফোনগ্যাপ ৩.৪.০ এর জন্য এবং নীচে দেখুন

ফোনগ্যাপ ডকুমেন্টেশনে, উত্তরটির কিছু অংশ এখানে পেয়েছি । সম্পূর্ণ প্রক্রিয়াটি নিম্নলিখিত:

  1. কমান্ড লাইন উইন্ডোটি খুলুন এবং / পথে / আপনার / প্রকল্প / প্ল্যাটফর্মগুলি / অ্যান্ড্রয়েড / কর্ডোভাতে যান

  2. চালান build --release। এটি আপনার অ্যাপনাম-রিলিজ-অ-স্বাক্ষরিত.অ্যাপক নামে পরিচিত / পাথ / টু / আপনার / প্রকল্প / প্ল্যাটফর্ম / অ্যান্ড্রয়েড / বিন ফোল্ডারে একটি স্বাক্ষরবিহীন রিলিজ APK তৈরি করে ।

  3. অ্যান্ড্রয়েড বিকাশকারী অফিসিয়াল ডক্সের নির্দেশাবলী ব্যবহার করে APK কে স্বাক্ষর করুন এবং সারিবদ্ধ করুন ।

লিঙ্কের জন্য @LaurieClark (ধন্যবাদ http://iphonedevlog.wordpress.com/2013/08/16/using-phonegap-3-0-cli-on-mac-osx-10-to-build-ios-and- অ্যান্ড্রয়েড-প্রকল্পগুলি / ) এবং যে ব্লগার এটি পোস্ট করেছে, কারণ এটি আমাকে ট্র্যাকে ফেলেছে।


9
আমাকে আমার অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলটি ম্যানুয়ালি সংশোধন করতে হয়েছিল যেখানে আমাকে <application android:debuggable="true"...বদলাতে হবে<application android:debuggable="false"
ইয়ান জ্যামিসন

3
আপনার পরে জিনিসটি জিপ করতে হবে: zipalign -v 4 your-unignigned.apk your-align.apk
দামিয়ান

13
আমি কর্ডোভা চালিয়ে যাচ্ছি 3.4.1-0.1.0.0 এবং ফাইলটি তৈরি করা হয়েছে/path/to/your/project/platforms/android/ant-build
অ্যালেক্সস্ট্যাক

1
মনে হচ্ছে, নির্দিষ্ট করে বলা হয়েছে, এটি ফোনগ্যাপ 3.0.০.x থেকে ৩.৩.x, 3..৪.x থেকে পরবর্তী এবং এটি ভিন্ন হতে পারে।
গিলারমো গুটিরিজ

আপনাকে অনেক ধন্যবাদ গিলারমো +1
কুইক_সিলভার

112

ফোনগ্যাপ ৩.৪.০ এ আপনি কল করতে পারেন:

cordova build android --release

আপনি যদি নীচের মতো 'প্ল্যাটফর্ম / অ্যান্ড্রয়েড' ডিরেক্টরিতে 'ant.properties' ফাইল সেট আপ করেছেন:

key.store=/Path/to/KeyStore/myapp-release-key.keystore
key.alias=myapp

তারপরে আপনাকে আপনার কীস্টোরের পাসওয়ার্ডের জন্য অনুরোধ জানানো হবে এবং ইতিমধ্যে স্বাক্ষরিত এবং প্রান্তিককরণ এবং স্থাপনার জন্য প্রস্তুত 'প্ল্যাটফর্ম / অ্যান্ড্রয়েড / পিঁপড়া-বিল্ড' ডিরেক্টরিতে আউটপুট ফাইল (myapp-release.apk) শেষ হবে।


1
কর্ডোভা-র বর্তমান 3.4.0 রিলিজটিতে একটি 'পিঁপড়া-সম্পত্তি' ফাইল অন্তর্ভুক্ত নেই।
স্টেপ

8
তৈরি করা ant.propertiesহয়েছে platforms/androidএবং সবেমাত্র এই দুটি সম্পত্তি এতে ফেলে দেওয়া হয়েছে। পুরোপুরি কাজ করে, ধন্যবাদ!
অ্যাডাম টটল

6
যদি আপনি কীস্টোর / ওরফে সম্পর্কে নিশ্চিত না হন বা কীভাবে সেগুলি সম্পর্কে সম্পূর্ণ বিবরণ তৈরি করবেন সেগুলি বিকাশকারী
শাই

6
এছাড়াও নোট করুন যে আপনি এই ফাইলে কী.স্টোর.পাসওয়ার্ড এবং কী.ইলিয়াস.পাসওয়ার্ড বৈশিষ্ট্য নির্দিষ্ট করতে পারবেন, তাই প্রতিবার যখন আপনি প্রকাশটি করবেন তখন আপনাকে এটি প্রবেশ করতে হবে না। অবশ্যই সাবধান হন এবং সংস্করণ সিস্টেমে এই ফাইলটি প্রতিশ্রুতিবদ্ধ করবেন না।
vbezhenar

5
কর্ডোভা 5.0.0 এবং তার উপরে আপনার প্রকল্পের মূলের উপর একটি বিল্ড.জেসন তৈরি করুন এবং এটি {"অ্যান্ড্রয়েড": release "রিলিজ": key "কীস্টোর": "/পথ / টো / ইয়োর.কিস্টোর", "ওরফে পূরণ করুন ": পিপীলিকা ফাইলের পরিবর্তে" ইউলিয়াস "}}।। এফওয়াইআই কর্ডোভা.এপাচি.অর্গ
ডকস /

19

কর্ডোভাতে 6.2.0

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

পূর্ববর্তী উত্তর:

কর্ডোভা 5.0.0 অনুযায়ী

{
     "android": {
         "release": {
             "keystore": "app-release-key.keystore",
             "alias": "alias_name"
         }
     }
 }

এবং ./build --release --buildConfig build.jsonডিরেক্টরি থেকে চালানোplatforms/android/cordova/

কীস্টোর ফাইলের অবস্থান সম্পর্কিত platforms/android/cordova/, সুতরাং উপরের কনফিগারেশন .keystoreফাইল এবং build.jsonএকই ডিরেক্টরিতে।

keytool -genkey -v -keystore app-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000


15

@ স্টিভেন-অ্যান্ডারসন অবধি অনুসরণ করে আপনি পিপীলিকার ভিতরে পাসওয়ার্ড কনফিগার করতে পারেন, যাতে প্রক্রিয়াটি সম্পূর্ণ স্বয়ংক্রিয়ভাবে পরিচালিত হতে পারে

সুতরাং যদি আপনি নিম্নলিখিতটি প্ল্যাটফর্ম \ android \ ant.properties এ রাখেন

key.store=../../yourCertificate.jks
key.store.password=notSoSecretPassword
key.alias=userAlias
key.alias.password=notSoSecretPassword

1
উইন্ডোজে আপনাকে অবশ্যই ছিটকে পড়তে হবে ... '... কী.স্টোর = সি: \\ ওপেনএসএসএল-উইন
32

4

আমি প্রায় একই বিষয়টি পেয়েছি কারণ আমি একই সমস্যা পেয়েছি তবে আমার ইনস্টলেশনটিতে "কর্ডোভা" কমান্ডটি কখনই পাওয়া যায় নি এবং "ফোন গ্যাপ বিল্ড অ্যান্ড্রয়েড - রিলিজ" কেবল প্ল্যাটফর্ম / অ্যান্ড্রয়েড / পিপিল্টিটি উপেক্ষা করেছে।

সুতরাং আমার প্ল্যাটফর্ম ফিল্টারটির ভিতরে সন্ধান করে আমি "কর্ডোভা" নামে একটি ফোল্ডার পেয়েছি এবং এর ভিতরে একটি "বিল্ড" বাইনারি ছিল যা - রিলেজ যুক্তিটি গ্রহণ করেছিল, এটি আমাকে মূল চেইনের জন্য জিজ্ঞাসা করেছিল এবং আমি একটি স্বাক্ষরিত এবং উত্পাদনের জন্য প্রস্তুত দিয়ে শেষ করি করা APK।

এটি ফোন ফাঁক সাইটের কোনও অংশে কখনই নথিভুক্ত করা হয়নি এবং খোলামেলাভাবে বলতে গেলে আমি ফোনগ্যাপকে ঘৃণা করি :( জিনিসগুলি সহজ করার কথা ছিল তবে সবকিছুই জটিল ছিল :(


2

গুগল প্লে স্টোরে মোতায়েনের জন্য বিল্ডিং ফোনগ্যাপ অ্যান্ড্রয়েড অ্যাপ

এই পদক্ষেপগুলি কর্ডোভা, ফোনগ্যাপ বা আয়নিকের জন্য কাজ করবে। পার্থক্য কেবলমাত্র সেখানেই করা হবে, যেখানেই কল cordovaদেওয়া হবে, আপনার নির্দিষ্ট দৃশ্যের জন্য এটির সাথে প্রতিস্থাপন করুন phonegapবা ionic

একবার আপনি উন্নয়নের সাথে কাজটি সম্পন্ন করার পরে এবং স্থাপনার জন্য প্রস্তুত হলে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. কমান্ড লাইন উইন্ডোটি খুলুন (ম্যাকোজে টার্মিনাল এবং উইন্ডোজে লিনাক্স বা কমান্ড প্রম্পট)।

  2. আপনি / প্রকল্প / রুট / আপনার / প্রকল্প / থেকে যান, যা আমরা প্রকল্প রুট হিসাবে উল্লেখ করব।

  3. প্রকল্পের মূল চলাকালীন আপনার প্লাগইনগুলির সেট থেকে "কনসোল" প্লাগইনটি সরান।

    আদেশটি হ'ল:cordova plugin rm cordova-plugin-console

  4. প্রকল্পের মূলে থাকাকালীন, মুক্তির বিতরণের জন্য একটি APK তৈরি করতে কর্ডোভা বিল্ড কমান্ডটি ব্যবহার করুন।

    আদেশটি হ'ল:cordova build --release android

  5. উপরের প্রক্রিয়াটি android-release-unsigned.apkফোল্ডারে ডাকা একটি ফাইল তৈরি করেProjectRoot/platforms/android/build/outputs/apk/

  6. Https://developer.android.com/studio/publish/app-signing.html#signing-manally

    এ নির্দেশাবলী ব্যবহার করে APK কে স্বাক্ষর করুন এবং সারিবদ্ধ করুন এই ধাপের শেষে আপনি যে APK টি পেয়ে যাবেন প্লে স্টোরটিতে আপলোড করা যাবে ।

দ্রষ্টব্য: নবাগত বা শিক্ষানবিস হিসাবে আমার কাছে শেষ ধাপটি কিছুটা বিভ্রান্তিকর হতে পারে। একজনের কয়েকটি সমস্যা দেখা দিতে পারে এবং এই আদেশগুলি কী এবং সেগুলি কোথায় পাওয়া যাবে সে সম্পর্কে কিছু প্রশ্ন থাকতে পারে।

চতুর্থাংশ 1। কি কি jarsigner এবং keytool ?
উত্তর: দ্য অ্যান্ড্রয়েড অ্যাপ সাইন ইন নির্দেশাবলী আপনাকে বলতে বিশেষভাবে কি jarsigner এবং keytool সম্পর্কে সব হয় কিন্তু এটি কি তোমাদেরকে বলিনি তাদের খুঁজে যেখানে আপনি একটি 'কম্যান্ড না ভুল পাওয়া গেছে' কম্যান্ড লাইন উইন্ডোতে মধ্যে চালানো নেই।

সুতরাং, আপনি যদি জাভা ডেভলপমেন্ট কিট (জেডিকে) পেয়েছেন তবে আপনার পাথ ভেরিয়েবলটি যুক্ত হয়েছে, কেবল গাইড হিসাবে কমান্ডগুলি চালানো কার্যকর হবে। কিন্তু, আপনার প্যাথ-এ এটি না থাকলে আপনি সর্বদা আপনার জেডি কে ইনস্টলেশনের বিন ফোল্ডার থেকে এগুলি অ্যাক্সেস করতে পারবেন ।

Q2 এর। জিপালাইন কোথায় ?
উত্তর: জিপালাইন কমান্ড না পাওয়া এবং 'কমান্ড পাওয়া যায় না ত্রুটি পাওয়া' পাওয়ার উচ্চ সম্ভাবনা রয়েছে । আপনি সম্ভবত জিপলাইন গুগল করছেন এবং এটি কোথায় পাবেন? Zipalign ইউটিলিটি অ্যান্ড্রয়েড SDK এর ইনস্টলেশন ফোল্ডার মধ্যে উপস্থিত। ম্যাকোজে, ডিফল্ট অবস্থানটি এখানে ,। আপনার কাছে এই ফোল্ডারে উপর আগাইয়া যদি আপনার মত অন্যান্য ফোল্ডার একটি গুচ্ছ খুঁজতে হবে , , , , ... খুলুন ফোল্ডার। । এখানে, এমন অনেকগুলি ফোল্ডার উপস্থিত থাকবে যা আপনি অ্যান্ড্রয়েড এসডিকে ম্যানেজারে ব্যবহার করছেন বিল্ড সরঞ্জাম-চেইন অনুসারে সংস্করণযুক্ত। ZipAlign

user-name/Library/Android/sdk/docsplatform-toolsbuild-toolstoolsadd-ons

build-toolscd build-toolsএই ফোল্ডারের প্রতিটি উপলব্ধ। আমি ব্যক্তিগতভাবে এটিতে সর্বশেষতম সংস্করণ সহ ফোল্ডারের জন্য যাই। যে কোনও খুলুন।

ম্যাকোস বা লিনাক্সে আপনাকে ডকুমেন্টেশনের উল্লেখ অনুযায়ী ./zipalignটাইপ করার পরিবর্তে ব্যবহার করতে হতে পারে zipalign। উইন্ডোজ, zipalignযথেষ্ট ভাল।


1

আমি জিপালিগনের মতো একই ডিয়ারে স্বাক্ষরিত অ্যাপ্লিকেশনটি অনুলিপি করে কাজ করতে পেরেছি। দেখে মনে হচ্ছে aapt.exe পথটি দেওয়ার পরেও উত্স ফাইলটি খুঁজে পেল না। উদাহরণস্বরূপ, এটি জিপলাইন -f -v 4 সি কার্যকর হয়নি: ... ord কর্ডোভা অ্যাপ-রিলিজ-সাইনড.অ্যাপক সি: ... \ গন্তব্য.এপকে এটি aapt.exeCordovaApp- রিলিজ-স্বাক্ষরিত.এপকে পৌঁছেছে, হিমশীতল এবং ফিরে এসে আঘাত করার পরে 'aapt.exeCordovaApp-release-unsign.apk' কোনও অভ্যন্তরীণ বা বাহ্যিক কমান্ড, অপারেবল প্রোগ্রাম বা ব্যাচ ফাইল হিসাবে স্বীকৃত নয়। এবং এটি জিপালিগান -f -v 4 কর্ডোভা অ্যাপ-রিলিজ-স্বাক্ষরযুক্ত


বখশিশের জন্য ধন্যবাদ. আপনি প্যাথ এনভায়রনমেন্ট ভেরিয়েবলের মধ্যে জিপলাইনের ফোল্ডারের পথও অন্তর্ভুক্ত করতে পারেন।
গিলারমো গুটিরিজ

0

আমি জানি এই প্রশ্নটি বিশেষত ফোনগ্যাপ ৩. এক্স সম্পর্কে জিজ্ঞাসা করেছে, তবে কেবলমাত্র রেফারেন্সের জন্য .0.০.০ এর উপরে কোনও ফোনগ্যাপ সংস্করণ ডিফল্টরূপে বিল্ডিংয়ের জন্য পিঁপড়ার পরিবর্তে গ্রেডেল ব্যবহার করে। গ্রেডলের পরিবর্তে পিঁপড়া ব্যবহার করতে আপনি এটি আপনার কনফিগারেশন.এক্সএমএলে যুক্ত করতে পারেন:

<preference name="android-build-tool" value="ant" />

গ্রেডল ব্যবহার করার সময় কীস্টোর সাইন ইন করার তথ্য এখন একটি নতুন স্থানে যেতে হবে ( এই পোস্টে বর্ণিত হিসাবে )। 'বলা নতুন ফাইল তৈরি release-signing.properties হিসাবে "build.gradle" ফাইল এবং নিম্নলিখিত বিষয়বস্তু ভিতরে রাখা একই ফোল্ডারে':

storeFile=..\\..\\some-keystore.keystore
storeType=jks
keyAlias=some-key
// if you don't want to enter the password at every build, you can store it with this
keyPassword=your-key-password
storePassword=your-store-password

-7

আপনি এই আদেশটি চেষ্টা করতে পারেন, এটি অ্যাপটি তৈরি এবং চালানো উচিত (সুতরাং .apk তৈরি করা উচিত):

phonegap local run android


3
এটি এখনও কেবল ডিবাগ APKs তৈরি করে।
গিলারমো গুতিয়ারেজ

2
না, এটি কেবলমাত্র এটি ডিবাগ স্বাক্ষরিত APK গুলি তৈরি করে, APK প্রকাশ করে না।
গিলারমো গুটিরিজ

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