أجهزة الكمبيوتر شبابيك إنترنت

كيفية تسجيل لعبة APK أو تطبيق على Android بشكل صحيح. كيفية تسجيل apk مع gradle كيفية تسجيل ملف apk لجوجل بلاي

إذن ، لقد كنت تعمل لعدة أيام (وربما ليالٍ) ، والآن أصبح أول تطبيق هجين للهاتف المحمول جاهزًا. إنه مستقر تمامًا ، يتم إغلاق معظم الأخطاء الحرجة. لم يتبق سوى عدد صغير ، ولكن تذكر أن الكمال أمر شرير ، فأنت تتخذ قرارًا قويًا بنشر التطبيق.

شرط أساسي لذلك هو وجود ملف APK موقّع. كيفية التوقيع على ملف apk ، سوف تتعلم من هذه المقالة.

استطرادية صغيرة

عندما اقترب مشروع الحيوانات الأليفة الخاص بي من الإصدار ، بدأت في البحث عن معلومات حول كيفية نشر تطبيق بسرعة ودون عناء. بدت العديد من التعليمات التي تم العثور عليها بسيطة. اخترت تعليمات مؤلفي الإطار الأيوني ، الذي تم تطوير التطبيق بناءً عليه. لم ينجح كل شيء في المرة الأولى ، فهناك العديد من الميزات. يتم وصف عملية التوقيع في هذه المقالة ، ويتم إبراز النقاط المهمة.

البيانات الأولية

أفترض أن لديك كل ما تحتاجه للإعداد لتطوير تطبيقات الهاتف المحمول الهجينة باستخدام Apache Cordova. يجب أن يكون مثبتا:
  • اباتشي كوردوفا
  • أدوات تطوير جافا
  • أدوات Android SDK
يتم استخدام lcf كاسم المشروع والتطبيق. استبدل اسم مشروعك عند الضرورة.

اذهب

تحتاج أولاً إلى إنشاء إصدار من تطبيقك. ولكن قبل ذلك ، دعنا نتأكد من إزالة جميع المكونات الإضافية غير الضرورية. على سبيل المثال ، لا نحتاج إلى مكون إضافي يطبع معلومات تصحيح الأخطاء إلى وحدة التحكم. لنقم بإزالته:

$ cordova plugin rm cordova-plugin-console
لإنشاء إصدار إصدار لنظام Android ، استخدم الأمر يبنيمع العلم --إطلاق:

كوردوفا $ build - أطلق أندرويد
هذا الأمر سيخلق غير موقعةملف APK في الدليل:

المنصات / android / build / outputs / apk
على سبيل المثال المنصات / android / build / outputs / apk / android-release-unsigned.apk. ثم نحتاج إلى توقيع هذا الملف وتشغيل الأداة المساعدة zipalignلتحسين وإعداد الملف لـ Google Play.

مطلوب شهادة لتوقيع ملف. لنقم بإنشائه باستخدام الأداة المساعدة أداة رئيسيةالذي تم تضمينه في JDK:

$ keytool -genkey -v -keystore lcf.keystore -alias lcf -keyalg RSA -keysize 2048 -صلاحية 10000
الأهمية

يجب تذكر قيمة المعلمة -alias ، لكن من الأفضل كتابتها. في المثال أعلاه ، يساوي lcf (بالأحرف الأولى من اسم تطبيق Loyal Client Free). لن أقدم التفاصيل هنا ، إذا كنت مهتمًا ، فاكتب في التعليقات ، وسأخبرك أكثر.

يستخدم الاسم المستعار في كل مرة عند التوقيع * التطبيقات. لتسهيل التذكر ، استخدم اسم ملف keystore كاسم مستعار ، على سبيل المثال:


-keystore hello-world.keystore -alias hello-world -keystore weather-app.keystore -alias weather-app -keystore todo.keystore -alias todo
* تحتاج إلى توقيع التطبيق مع كل إصدار من التحديثات

جدوى أداة رئيسيةيطرح سلسلة من الأسئلة. سيكون هناك 8 أسئلة في المجموع ، للحصول على فكرة عن الأسئلة والإجابات التقريبية مقدمًا ، ستجدها جميعًا أدناه ، تحت الجناح.

أسئلة Keytool ونماذج الإجابات

1- أدخل كلمة مرور تخزين المفاتيح:
هنا تحتاج إلى إدخال كلمة مرور للملف (6 أحرف على الأقل). يجب كتابة كلمة المرور المدخلة في مكان آمن ، فهي مطلوبة في كل مرة عند التوقيع على الطلب.

2. أعد إدخال كلمة المرور الجديدة:
إعادة إدخال كلمة المرور.

3. ما هو اسمك الأول والأخير؟
: إيفان بيتروف
اسمك الأول والأخير. القيمة الموجودة بين قوسين مربعين هي القيمة الافتراضية.

4. ما هو اسم وحدتك التنظيمية؟
: هو - هي
اسم قسم شركتك. يمكنك تركه فارغًا ، وأنا أحدده.

5. ما هو اسم منظمتك؟
: 2 المطورين
اسم منظمتك. حدد إن وجدت.

6. ما هو اسم مدينتك أو منطقتك؟
: موسكو
اسم المدينة

7. ما هو اسم ولايتك أو مقاطعتك؟
: MO
اسم المنطقة

8. ما هو رمز الدولة المكون من حرفين لهذه الوحدة؟
: EN
الرقم الدولي. أشير إلى RU.

: ذ

تأكد من صحة كل شيء أو اضغط على Enter للدخول مرة أخرى.


في النهاية ، ستظهر رسالة حول التوليد الناجح للمفتاح. سيُطلب منك تعيين كلمة مرور للمفتاح الخاص (إذا كنت تريد ترك نفس كلمة المرور الخاصة بالشهادة ، فاضغط على Enter):

إنشاء زوج مفاتيح RSA 2048 بت وشهادة موقعة ذاتيًا (SHA256 مع RSA) بصلاحية تصل إلى 10000 يوم لـ: CN = Ivan Petrov، OU = IT، O = 2developers، L = Moscow، ST = MO، C = RU Enter key كلمة المرور الخاصة بـ (RETURN إذا كانت هي نفسها كلمة مرور keystore):
سيتم إنشاء الملف في الدليل الحالي lcf.keystore.

الأهمية

يجب حفظ الملف الذي تم إنشاؤه في مكان آمن. إذا كنت تستخدم مستودعًا خاصًا ، فيمكن عندئذٍ تنفيذ الملف جنبًا إلى جنب مع أكواد مصدر التطبيق. بشكل عام ، من الأفضل تخزين الشهادات بشكل منفصل. إذا فقدت شهادتك ، فلن تتمكن من إصدار تحديثات التطبيق.

بقيت خطوتان ، وسيكون لديك ملف APK جاهز للتوزيع. ننتقل مباشرة إلى التوقيع.

للتوقيع على ملف apk الخاص بك ، استخدم الأداة المساعدة جارسينر، والذي تم تضمينه أيضًا في JDK.

$ jarsigner -verbose -sigalg SHA1 مع RSA -digestalg SHA1 -keystore lcf.keystore android-release-unsigned.apk lcf
يتم تحديد اسم الشهادة بعد المعلمة -متجر، الاسم المستعار - بعد اسم الملف.

أخيرًا ، لتحسين ملف apk ، سنستخدم الأداة المساعدة zipalign:

$ zipalign -v 4 android-release-unsigned.apk LoyalClientFree.apk
المعلمة الأخيرة هي اسم الملف الذي ستقوم بتحميله على Google Play.

الأهمية.

جدوى zipalignإنه جزء من أدوات Android SDK ويمكن العثور عليه هنا:

/ path / to / Android / sdk / build-tools / VERSION / zipalign

خاتمة

لديك الآن ملف apk جاهز للتوزيع يمكن تحميله على Google Play. املأ الوصف ، وحدد تصنيف تطبيقك ولا تتردد في النقر فوق "نشر".

منذ أن بحثت في جوجل عن السؤال بنفسي كيفية تسجيل ملف apk؟ "، أعلم أنه ليس من السهل العثور على تعليمات عملية ومفهومة حقًا في كل شيء. ولهذا قررت أن أكتب بنفسي مادة حول كيفية التوقيع بشكل صحيح على برنامجك أو لعبتك على Android.

كما تعلم الآن ، بدون التوقيع الرقمي ، لا يمكن وضع إبداعك في السوق ، وهذا أمر خطير بالفعل. لقد لاحظ الكثير من مطوري Android الشباب ، إذا جاز التعبير ، أن المبتدئين ينسون تمامًا التوقيع على طلباتهم ومحاولة القيام بشيء ما باستخدامه لاحقًا وهذا يتساءل عن سبب عدم تمكنهم من تنفيذ إجراءات معينة باستخدام ملف APK الخاص بهم.

لذلك ، دعنا لا نسحبه ونبدأ على الفور في كيفية تسجيل ملف apk الخاص بك وكيفية استخدامه فعليًا لتحقيق النتيجة المرجوة.

هذه الطريقة هي الأصح من بين كل الطرق المذكورة ، لذلك سنصفها في هذه المادة. سنصنع مفاتيحنا الخاصة ببياناتنا وشهاداتنا ونستخدمها للتوقيع على التطبيق الذي أنشأته.

للعمل نحتاج: OpenSSL و SignApk.

أولاً ، لنصنع شهادة ومفتاح توقيع. قم بتثبيت OpenSSL. أثناء التثبيت ، سيطالبك المثبت بنسخ المكونات إلى مجلد Windows ، وحدد مجلد Bin ، والذي سيكون المكان الذي تقوم فيه بتثبيت OpenSSL بالكامل.

الآن افتح سطر الأوامر نيابة عن مسؤول النظام (هذا مهم جدًا!). بعد ذلك ، في سطر الأوامر ، انتقل إلى مجلد bin ، الموجود في المجلد حيث قمت بتثبيت OpenSSL (على سبيل المثال ، ج: \ OpenSSL \ بن \أو C: \ Program Files \ OpenSSL \ bin \). إذا كنت لا تعرف ، فسيتم الانتقال إلى مجلد آخر باستخدام الأمر قرص مضغوط. أي ، للانتقال إلى المجلد المطلوب ، يجب عليك تشغيل الأمر التالي:

cd C: \ OpenSSL \ bin \

بمجرد دخولك إلى مجلد Bin ، يمكنك المتابعة مباشرة لإنشاء شهادة ومفتاح.

الخطوة 1(نقوم بتوليد المفاتيح بطول 1024 بت)

قم بتشغيل الأمر:

opensl genrsa -out key.pem 1024

الخطوة 2(بناءً على المفتاح ، نقوم بإنشاء طلب شهادة)

قم بتشغيل الأمر:

opensl req -new -key.pem -out request.pem

في هذه المرحلة ، ستحتاج إلى إدخال بياناتك ، والتي ستحدد هويتك في الشهادة.

خطوة 3 (إنشاء مفتاح خاص من شهادة)

قم بتشغيل الأمر:

openssl x509 -req -days 9999-in request.pem -signkey key.pem -out Certificate.pem

الخطوة 4(تنفيذ إنشاء مفتاح عمومي)

قم بتشغيل الأمر:

openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt

في هذه المرحلة ، تم الانتهاء من إنشاء الملفات التي نحتاجها لتوقيع ألعابك وتطبيقاتك. باستخدام المفتاح والشهادة اللذين تم إنشاؤهما ، يمكنك تسجيل أي عدد تريده من الألعاب والتطبيقات على Android.

والآن في الواقع ، لنبدأ في توقيع التطبيق. قم بفك ضغط الأرشيف من SingApk الذي تم تنزيله من الرابط أعلاه. انتقل من مجلد Bin حيث أنشأنا ملفي الشهادة والمفتاح 2: شهادةو مفتاحإلى المجلد حيث قمت بفك حزم SingApk. يجب أن يعرض Windows مربع حوار استبدال الملف - استبدال.

الآن ، لتوقيع ملف apk بتوقيع رقمي فريد قمت بإنشائه بنفسك ، ما عليك سوى سحب ملف apk إلى تسجيل الدخول. لكي لا تسحب الملف من نافذة إلى أخرى (هذا ليس مناسبًا) ، انقل ملف apk إلى المجلد باستخدام SingApk. بعد التنفيذ ، سيظهر ملف في المجلد مع SingApk apk_signed.apk، والذي سيكون تطبيقك أو لعبتك الموقعة.

المشاهدات بعد: 5618

بيئة تطوير أندرويديوفر فرصًا كبيرة لتطوير التطبيقات ولزيادة الأتمتة والراحة عند البرمجة.

إذا كنت تستخدم نظام البناء التدرجلإنشاء تطبيقاتك الخاصة ، يمكنك أيضًا إعداد بعض الخيارات لإنشاء تواقيع لتطبيقاتك.

ربما لا ترغب في نشر مفاتيح التوقيع وكلمات المرور وأسماء المستخدمين إلى مستودع عام (أو حتى خاص). لذلك ، يمكنك تحديد المفتاح وكلمة المرور واسم المستخدم كخصائص في ملف منفصل.

قبل أن تبدأ في توقيع التطبيق ، تحتاج إلى إنشاء خاصية جديدة في ملف gradle.properties. دعنا نسميها keys.repoوكقيمة ، حدد المسار إلى المجلد حيث سيتم بعد ذلك تحديد موقع مخزن المفاتيح والملف ذي الخصائص (على سبيل المثال ، C: / المستخدمون / اسم المستخدم / التوقيع).

Keys.repo = C: / المستخدمون / اسم المستخدم / التوقيع

ثم تحتاج إلى إنشاء هذا المجلد ، أو فتحه إذا حددت مجلدًا موجودًا. يحتاج إلى إنشاء ملف YourProjectName.properties، حيث سيتم كتابة المسار إلى مخزن المفاتيح والاسم المستعار الرئيسي وكلمة المرور كخصائص في النموذج التالي.

RELEASE_STORE_FILE = / YourProjectName / KeyStoreName.jks RELEASE_STORE_PASS = ****** RELEASE_ALIAS = KeyAlias ​​RELEASE_KEY_PASS = ******

كيفية إنشاء keystore؟

إذا لم يكن لديك ملف تخزين مفاتيح ، فيمكنك بسهولة إنشاء واحد باستخدام Android Studio. للقيام بذلك ، حدد عنصر القائمة يبني -> إنشاء ملف APK موقّع.

في النافذة التي تظهر ، انقر فوق خلق جديد إبداع جديد...نتيجة لذلك ، سيتم فتح نافذة يمكنك من خلالها تحديد مكان تخزين المفاتيح (بالنسبة لهذا الدرس ، من الأفضل تحديد المسار الذي حددته في هذا الدرس على الفور YourProjectName.propertiesفي الممتلكات RELEASE_STORE_FILE) ، وكذلك بيانات حول المفتاح.

ثم تحتاج إلى إنشاء مجلد اسم المشروعونقل ملف keystore المطلوب هناك.

الآن يمكنك المتابعة مباشرة إلى عملية التوقيع. للقيام بذلك ، تحتاج في مشروعك إلى فتح الملف بناء(موجود في مجلد التطبيق). بداخله في الكتلة ذكري المظهرتحتاج إلى إضافة الكود التالي.

SigningConfigs (debug (/ * no change here * /) release (if (project.hasProperty ("Keys.repo")) (def projectPropsFile = file (project.property ("Keys.repo") + "/YourProjectName.properties" ) if (projectPropsFile.exists ()) (Properties props = new Properties () props.load (new FileInputStream (projectPropsFile)) ملف storeFile (ملف (project.property ("Keys.repo") + props ["RELEASE_STORE_FILE"]) ) storePassword props ["RELEASE_STORE_PASS"] keyAlias ​​props ["RELEASE_ALIAS"] keyPassword props ["RELEASE_KEY_PASS"])) else (println "====================== = ================================== "println" - يرجى تكوين بيئة تجميع الإصدار - على سبيل المثال في ~ /. دليل التوقيع "println" =========================================== == ======== ")))

ما هي مخططات التوقيع؟

هناك نظامان للحصول على توقيع APK: الإصدار 1 JARو v2 APK كامل.

في الحالة الأولى ، قم بالتوقيع إناء-الملف ، وهي الطريقة التقليدية للتوقيع. لا يحمي توقيع v1 بعض أجزاء ملف APK ، مثل بيانات تعريف ZIP. يجب أن يتعامل مدقق APK مع الكثير من هياكل البيانات غير الموثوق بها (التي لم يتم التحقق منها بعد) ثم يتجاهل البيانات غير الموقعة ، مما يترك مساحة كبيرة للهجوم. بالإضافة إلى ذلك ، يجب أن يقوم مدقق APK بفك ضغط جميع السجلات المضغوطة ، مما يهدر الكثير من الوقت والذاكرة. لمعالجة هذه المشكلات ، تم تطوير مخطط ثانٍ v2 Full APK.

تم تقديم المخطط v2 في Android 7.0 Nougat (API 25)ويعمل منذ الإصدار اندرويد ستوديو 2.2و البرنامج المساعد Android Gradle 2.2. يوفر هذا النظام تثبيتًا أسرع للتطبيق وحماية جيدة ضد التغييرات غير المصرح بها لملف APK. تمت تجزئة محتوى APK وتوقيعه ، ثم استلامه كتلة توقيع APKتم إدراجه في ملف APK.

أثناء التحقق من الصحة ، يتعامل مخطط v2 مع APK على أنه blob ويقوم بالتحقق من التوقيع على الملف بأكمله. أي تعديل على APK ، بما في ذلك التعديلات على بيانات ZIP الوصفية ، يبطل التوقيع. هذا النوع من التحقق أسرع بكثير ويسمح باكتشاف المزيد من التعديلات غير المصرح بها.

التنسيق الجديد متوافق مع الإصدارات السابقة ، لذا يمكن تثبيت ملفات APK الموقعة بالمخطط الجديد على الأجهزة القديمة (والتي ستتجاهل ببساطة التوقيع الجديد) طالما أن ملفات APK هذه موقعة أيضًا بنظام v1.

يستخدم التوقيع كلا النظامين بشكل افتراضي بحيث يمكن تثبيت التطبيقات على أي جهاز. ومع ذلك ، إذا لزم الأمر ، يمكنك تعطيل توقيع v1 أو v2. للقيام بذلك ، في الكود أعلاه في الكتلة إطلاقفقط أضف الأسطر التالية.

V1SigningEnabled خطأ

V2SigningEnabled خطأ

من المهم أيضًا ملاحظة أنه يجب عليك التوقيع باستخدام مخطط v1 قبل التوقيع باستخدام مخطط v2 ، لأن APK لن يمر v2 إذا تم توقيعه بشهادات إضافية بعد توقيعه باستخدام مخطط v2.

بعد إضافة الرمز ، أشر إلى هذا الرمز في الكتلة نوع البناءداخل إطلاق. علي سبيل المثال:

BuildTypes (release (minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile ("proguard-android.txt") ، "proguard-rules.pro" signatureConfigs.release))

الآن يمكنك بأمان في عنصر القائمة يبنيأختر بناء APK، بعد تغيير نوع التجميع من التصحيحعلى ال إطلاق. كما ترى ، تعتبر هذه الطريقة ملائمة لأنها تلقائية ، ولا تحتاج إلا إلى تكوينها مرة واحدة ويمكن أن تكون ملفات تخزين المفاتيح الخاصة بك آمنة.

توجد لقطات شاشة في المقالة عندما كان يُطلق على متجر التطبيقات اسم "Android Market". لقد نشأ جيل من القطط لم يسمع بهذا الاسم من قبل. لكن المبدأ العام لم يتغير. غادر للتاريخ. لا يمكنني إعادة التسجيل لأخذ لقطات شاشة جديدة.

نظرًا لأننا قلقون ، فسوف نتدرب على القطط. لنأخذ ، على سبيل المثال ، مثالاً من المقال ونحاول وضعه على Google Play. إذا نجح كل شيء ، فسيكون الأمر أسهل.

قبل المضي قدمًا ، تأكد من أن لديك رموز التطبيق واسم البرنامج الخاصين بك جاهزين. سيكون من الغريب جدًا رؤية برنامج برمز قياسي واسم "HelloWorld" في متجر التطبيقات. وكذلك تحقق من جميع الإدخالات في ملف البيان.

الخطوةالاولى. هو الأصعب

يجب أن يحتوي أي تطبيق يتم نشره في المتجر على شهادة موقعة. تسمح لك الشهادة بتعريف نفسك كمؤلف للبرنامج. وإذا حاول شخص ما نشر برنامج يحمل نفس اسم برنامجك ، فسيتم رفضه بسبب تعارض في الاسم. اسم التطبيق هو الاسم الكامل للحزمة.

عندما تقوم بتشغيل تطبيقاتك على محاكي أو هاتفك ، فإن بيئة التطوير توقع البرنامج تلقائيًا بشهادة تصحيح. شهادة التصحيح غير مناسبة للتوزيع عبر المتجر ، وتحتاج إلى توقيع التطبيق بشهادتك الفريدة. إنه مجاني ، بدون تسجيل و SMS.

لنقم بإنشاء ملف APK موقّع ، وهو شيء مثل ملف قابل للتنفيذ مثل notepad.exeعلى نظام التشغيل Windows. إذا كانت بيئة تطوير Android Studio مفتوحة ، فاختر من القائمة بناء | إنشاء ملف APK موقّع ....

سيظهر مربع حوار معالج تحتاج إلى تعبئته بالبيانات.

في الحقل الأول ، حدد المسار إلى ملف تخزين المفاتيح. إذا كان عليك إنشاء برامج من قبل ، بما في ذلك في Eclipse ، فيمكنك تحديد مستودع موجود باستخدام الزر اختر القائمة .... إذا كنت تقوم بإنشاء مستودع لأول مرة ، فحدد الزر خلق جديد إبداع جديد.... سيظهر مربع حوار جديد.

في الحقل الأول ، تحتاج إلى تحديد مجلد باستخدام الزر ... وأدخل اسمًا لملف التخزين ، والذي سيتم منحه الامتداد jks.

الآن تقوم بإنشاء مفتاح للتطبيق. في الميدان الاسم المستعار(الاسم المستعار) أدخل اسم المفتاح الذي تستطيع أنت والقطط فهمه. ليس من الضروري إنشاء اسم مستعار لكل تطبيق ، يمكنك استخدام اسم مستعار واحد لتطبيقاتك وأسماء مستعارة منفصلة للتطبيقات المخصصة.

تحتاج أيضًا إلى إنشاء كلمة مرور للمفتاح وتأكيدها.

تم تصميم المفتاح لمدة 25 عامًا. ميدان الصلاحية (سنوات)اتركه دون تغيير (ما لم تكن لديك أسباب وجيهة لخلاف ذلك).

أخيرًا ، املأ معلومات عنك.

بعد ملء الحقول ، ستعود إلى النافذة الأولى للمعالج.

انقر فوق الزر التاليوفي النافذة التالية ، أدخل كلمة مرور أخرى للوصول إلى قاعدة بيانات كلمات المرور.

قد لا يكون لديك هذه الخطوة. قد يظهر إذا حددت خيار "تذكر كلمة المرور". لا أتذكر التفاصيل ، ستكتشفها بنفسك.

الخطوة الأخيرة هي الضغط على الزر ينهي.

كانت هذه هي الخطوة الأخيرة. الآن هناك مربعات اختيار جديدة V1 (جرة التوقيع)و V2 (توقيع APK الكامل). تحقق على الأقل من الخيار الأول V1- هذا يتوافق مع الطريقة القديمة. تعتبر الطريقة الثانية أكثر أمانًا من حيث القرصنة ويمكن استخدامها لاحقًا لواجهات برمجة التطبيقات ، وفقًا لتقديرك (انظر أدناه).

نتيجة لعمليات التلاعب المعقدة باستخدام مربعات الحوار ، سيكون لديك ملف APK الذي طال انتظاره - سحرك ، والذي سيفتح الباب أمام عالم الثروة والسعادة.

الضغط على زر تظهر في Explorer، ستقوم بتشغيل File Explorer على جهاز الكمبيوتر الخاص بك مع المجلد الذي يحتوي على الملف الموقع.

كن حذرًا مع المفتاح الذي تم إنشاؤه. هو الذي يضمن أن الإصدار الجديد من البرنامج مكتوب بواسطتك. لذلك ، إذا فقدت المفتاح الذي تم إنشاؤه ، فسيتعين عليك تحميل البرنامج باسم مختلف باستخدام مفتاح جديد.

يوفر الاستوديو وضعًا لإنشاء تطبيق موقّع تلقائيًا. انقر بزر الماوس الأيمن على المجلد برنامجوفي قائمة السياق حدد افتح إعدادات الوحدة النمطية. اختر قسمًا برنامجفي قسم الوحدات. حدد علامة التبويب التوقيع. انقر فوق زر علامة الجمع واملأ الحقول.

انتقل إلى علامة التبويب أنواع البناءواختيار التجميع إطلاق. في القائمة المنسدلة تكوين التوقيعحدد التكوين الذي تم إنشاؤه حديثًا. افتراضيا له الاسم التكوين.

انقر نعملحفظ النتائج.

يمكنك أيضًا توقيع الطلبات من خلال سطر الأوامر دون مشاركة الاستوديو ، إذا كنت منحرفًا. يمكنك قراءة الوثائق حول هذا الموضوع.

v2 APK كامل

في عام 2017 ، غيرت Google عملية التوقيع قليلاً. يوجد الآن مخططان للحصول على توقيع APK: v1 JAR و v2 Full APK.

التوقيع v1 (الموجود منذ البداية) لا يحمي بعض أجزاء ملف APK ، مثل بيانات ZIP الوصفية. يجب أن يتعامل مدقق APK مع الكثير من هياكل البيانات غير الموثوق بها ثم يتجاهل البيانات غير الموقعة ، مما يترك مساحة كبيرة للهجوم. بالإضافة إلى ذلك ، يجب أن يقوم مدقق APK بفك ضغط جميع السجلات المضغوطة ، مما يهدر الكثير من الوقت والذاكرة. لحل المشاكل ، تم تطوير v2 Full APK جديد ، والذي سوف تواجهه عند التوقيع على التطبيق الخاص بك.

يعمل Scheme v2 في Android 7.0 Nougat (API 25). يوفر النظام تثبيتًا أسرع للتطبيق وحماية جيدة ضد التغييرات غير المصرح بها لملف APK. محتوى ملف APK مجزأ وموقع ، ثم يتم إدراج كتلة توقيع APK الناتجة في APK.

التنسيق الجديد متوافق مع الإصدارات السابقة ، لذا يمكن تثبيت ملفات APK الموقعة بالمخطط الجديد على الأجهزة القديمة (والتي ستتجاهل ببساطة التوقيع الجديد) طالما أن ملفات APK هذه موقعة أيضًا بنظام v1.

في التطبيقات القديمة ، أترك مربع الاختيار بجوار الإصدار الأول. ربما في وقت لاحق سوف يجبرك على التبديل إلى الإصدار الثاني بالقوة. من المهم ملاحظة أنه يجب عليك التوقيع باستخدام مخطط v1 قبل التوقيع باستخدام مخطط v2 ، لأن APK لن يجتاز مخطط v2 إذا تم توقيعه بشهادات إضافية بعد توقيعه باستخدام مخطط v2.

بالمعنى الدقيق للكلمة ، يمكنك نشر ملف apk على موقعك ، ويمكن لجميع زوار موقعك تنزيله وتثبيته على هواتفهم. لكن هذا أمر غير لائق إلى حد ما في عصر تكنولوجيا النانو. فلننتقل إلى الخطوة التالية.

الخطوة الثانية. يجب عليك فديا ، يجب عليك

الخطوة التالية غير سارة للغاية. تحتاج إلى إعطاء 25 دائمة الخضرة لشخص غريب. حتى لا تتعرض للإهانة ، كانت هذه العملية تسمى رسوم التسجيل. ستحتاج إلى بطاقة ائتمان بالمبلغ المحدد. يرجى ملاحظة أن Visa Electron ، وحتى بطاقة الخصم من سلسلة متاجر Perekrestok ، لن تناسبك. إذا كان لديك بالفعل البطاقة المطلوبة ، فتخط هذه الفقرة. يمكنني أن أنصح الباقي بالحصول على محفظة QIWI والحصول على بطاقة افتراضية هناك. هذا هو بالضبط ما فعلته ، لأنه كان مترددًا في الذهاب إلى البنك وكتابة جميع أنواع البيانات.

تحديث أوتوماتيكي

إذا أنشأت إصدارًا جديدًا من البرنامج عن طريق إصلاح العديد من الأخطاء وإضافة صور جديدة لقطط ، فأنت بحاجة إلى زيادة رقم الإصدار في البيان بواحد (سمة الإصدار) واستبدالها اسم الإصدارلنفسك (سيظهر على صفحة Google Play). في أحدث إصدارات الاستوديو ، هذه الخصائص ليست الآن في البيان ، ولكن في الملف بناءوحدة التطبيق الخاص بك. قم بتحميل الإصدار الجديد على Google Play وسيتلقى المستخدمون التحديث تلقائيًا.

اتبع الاستعراضات

ثبّت تطبيق Google Play Developer Console على جهازك حتى لا تفوتك مراجعة جديدة لتطبيقك. يمكنك أيضا عرض الإحصائيات.

تغيير كلمة مرور المخزن والاسم المستعار

لم أضطر لاستخدامها في بضع سنوات ، لذلك لا أعرف ما إذا كانت هذه المعلومات محدثة.

لنفترض أنك قمت ببيع برنامجك برموز المصدر إلى شركة أخرى. من أجل نشر تحديثات البرنامج ، يجب على الشركة التوقيع على الطلب بنفس المفتاح الذي وقعت عليه. خلاف ذلك ، سيتم اعتبار البرنامج مختلفًا وسيتعين تغيير اسم الحزمة. ولكن بعد ذلك لن يتمكن المستخدمون القدامى من الحصول على التحديثات.

ولكن إذا قمت بالتوقيع على جميع برامجك بنفس المفتاح وكلمة المرور ، على سبيل المثال قط قط، ثم يمكن للشركة التوقيع على تطبيقاتك الأخرى بنفس المفتاح عن طريق وضع برامجها بنفس اسم الحزمة ، ولن تثبت أي شيء لأي شخص.

لذلك ، تحتاج إلى الاهتمام بتغيير المفتاح لنقله إلى المالك الجديد.

لنفترض أن مستودعنا لديه الهيكل:

اسم مخزن المفاتيح: old.keystore كلمة مرور Keystore: cat1 الاسم المستعار: my_alias كلمة مرور الاسم المستعار: cat2

قم بعمل نسخة من قبو الخاص بك واحفظه في مكان آخر. كان من المفترض أن يتم ذلك أثناء الإنشاء الأول ، لأنه إذا فقدت مساحة التخزين ، فلن تتمكن من استعادة الوصول إلى برامجك أثناء التحديث.

قم بعمل نسخة من المستودع الخاص بك مرة أخرى وأعد تسميته ، على سبيل المثال ، new.keystore. سنعمل معه.

قم بتشغيل الأداة المساعدة أداة رئيسيةبأمر:

Keytool -storepasswd -keystore new.keystore

سيُطلب منك إدخال كلمة المرور الحالية ثم إدخال كلمة مرور جديدة وتكرارها. تقريبًا مثل هذا:

أدخل كلمة مرور تخزين المفاتيح: كلمة مرور تخزين المفاتيح الجديدة: أعد إدخال كلمة مرور تخزين المفاتيح الجديدة:

اكتمل الجزء الأول من المهمة ، وتم تغيير كلمة مرور المخزن.

إذا كنت تريد أيضًا تغيير كلمة المرور للاسم المستعار ، فقم بتشغيل الأداة مرة أخرى باستخدام الأمر:

Keytool -keypasswd -keystore new.keystore -alias my_name

سيُطلب منك إدخال كلمة مرور المخزن الحالية (كلمة المرور الجديدة) ، ثم كلمة مرور الاسم المستعار. يمكنك إدخال كلمة مرور جديدة وستحل محل كلمة المرور القديمة.

أدخل كلمة مرور تخزين المفاتيح: أدخل كلمة المرور الرئيسية لـ

تم تغيير كلمة مرور الاسم المستعار.

إذا لم يكن تغيير كلمة المرور كافيًا لك وترغب في تغيير اسم الاسم المستعار (ربما استخدمت اسم قطتك المفضلة ، فلماذا يجب أن يعرفها الآخرون) ، فإننا نواصل العمل.

نقوم بتشغيل الأمر:

Keytool -changealias -keystore new.keystore -alias my_alias -destalias my_new_alias

سيُطلب منك إدخال كلمة مرور المخزن ، ثم كلمة المرور للاسم المستعار الجديد (كلمة المرور الحالية) ، ثم كلمة المرور الجديدة وتكرارها. سيتم تغيير الاسم المستعار.

لذلك ، استغرق الأمر منا ثلاث خطوات لإنشاء مستودع جديد واسم مستعار لنقله إلى شخص غريب. يجب على المالك الجديد أن يفعل الشيء نفسه للتأكد من أنك لا تستفيد من الملفات التي تم تغييرها. ومع ذلك ، هذه هي مشكلته.

نوقع على التطبيق النهائي

يمكن أن تظهر مثل هذه الحالة عندما تفقد شفرة المصدر ويكون لديك APK فقط. هذا صحيح على الأرجح للقراصنة الذين أعادوا التوقيع على تطبيقات أخرى (لا تفعل ذلك مع برامج الآخرين).

أولاً ، قم بتغيير الامتداد من apk إلى zip. احذف المجلد في الأرشيف معلومات التعريف الفوقية. قم باستعادة الامتداد. لقد قمت بحذف التوقيع القديم.

أنت الآن بحاجة إلى توقيع الطلب بمفتاح جديد. أدخل الأمر.

jarsigner -keystore keystore-file.jks -storepass keystore_password -keypass alias_password-signedjar موقّع- apk-file.apk apk-file.apk alias_name

إذا نجحت ، ستتلقى رسالة تفيد بأن التطبيق قد تم توقيعه. بعد ذلك ، نقوم بتنفيذ أمر آخر.

ANDROID_SDK_PATH / أدوات البناء / LAST_BUILD_TOOLS_VERSION / zipalign -v 4 موقع-apk-file.apk align-apk-file.apk

يجب أن تكون النتيجة ملف APK موقّعًا بالمفتاح الجديد. لم أستخدمها بنفسي.

تخزين مفتاح جوجل

في عام 2017 ، أضافت Google خيارًا جديدًا لتخزين المفاتيح في السحابة. يتمثل الاختلاف الرئيسي في أنك تقوم بتسجيل التطبيق باستخدام مفتاح تحميل خاص ، تتحقق منه Google وتزيله ، وتستبدله بمفتاح توقيع التطبيق الأصلي الذي قدمته.

يتيح لك إدارة مفاتيح توقيع التطبيق لكل من التطبيقات الجديدة والمنشورة ، والتي سيتم تخزينها بواسطة Google في متجر المفاتيح الخاص بها. للانضمام إلى هذا البرنامج ، يجب عليك الاشتراك فيه في Google Play Console. من الجدير بالذكر أنه لن يكون من الممكن إلغاء الاشتراك فيه.

هذه الطريقة مفيدة للغاية - في حالة فقد مخزن المفاتيح ، سيسمح لك Google Play App Signing بإعادة تعيين المفتاح لتثبيت مفتاح جديد. لا يتعين عليك إعادة نشر التطبيق باسم حزمة ومفتاح جديدين.

قراءة إضافية

استرداد كلمة مرور Android-keystore بواسطة MaxCamillo - إذا فقدت كلمة مرورك ، فحاول استخدام هذه الأداة. لم أستخدمها بنفسي ، لذلك لن أقول.

آخر تحديث: 30/10/2015

بعد إنشاء التطبيق واختباره وتصحيحه ، يمكننا البدء في نشره. يتمثل جوهر المنشور في إنشاء ملف بالامتداد .apk، والذي سيمثل التطبيق ، وموضعه اللاحق في سوق Google Play أو المواقع الخارجية الأخرى. بشكل افتراضي ، أثناء عملية تصحيح الأخطاء وإنشاء تطبيق ، يتم إنشاء ملف apk بالفعل ، ويمكننا العثور عليه في مجلد المشروع على طول المسار اسم المشروع \ التطبيق \ البناء \ المخرجات \ apk. بشكل افتراضي ، يتم تسمية الملف app-debug.apkويمثل نسخة التصحيح.

لكن للنشر الكامل لهذا الملف قد لا يكون كافيا. وما زلنا بحاجة إلى القيام ببعض التحضير للمشروع للإفراج عنه. للقيام بذلك ، حدد في ملف البيان للعنصر android: يتم تعيين سمات versionCode و android: اسم الإصدار. أيضا في ملف البيان العنصر يجب ألا يحتوي على سمة android: قابلة للتصحيح

بالإضافة إلى ذلك ، في هذه المرحلة ، يمكنك تعيين رمز للتطبيق الذي سيتم عرضه على الشاشة الرئيسية للأداة الذكية ، واسم التطبيق (السمة android: label على العنصر) ، ويمكنك أيضًا تعيين اتفاقية الترخيص.

يجب أن يحدد ملف البيان أيضًا اسم الحزمة (سمة الحزمة للعنصر ) ، والتي سيتم استخدامها للتطبيق لاحقًا. بشكل افتراضي ، عند التطوير في Android Studio ، تبدأ حزم التطبيقات بـ com.example. يجب ألا تترك هذا الاسم ، لأن اسم الحزمة سيكون بمثابة معرف فريد لتطبيقك. على سبيل المثال ، أدناه في حالتي اسم الحزمة هو "com.maverics.eugene.telephonelist":

علاوة على ذلك ، إذا كان في ملفات كود جافا ، يجب أن يتوافق اسم الحزمة في بداية الملف أيضًا مع حزمة التطبيق.

متطلبات الإعداد

يمكنك أيضًا تعيين متطلبات API أثناء مرحلة ما قبل الإصدار. على سبيل المثال ، يحتوي تطبيقنا على حد أدنى معين من إصدار نظام التشغيل Android ، لذلك يمكننا تعيين السمات المقابلة على العنصر في ملف البيان

    android: minSdkVersion - الحد الأدنى من إصدار Android

    android: targetSdkVersion - إصدار API الأمثل

    android: maxSdkVersion - الحد الأقصى لإصدار النظام

على سبيل المثال ، لنفترض أن الحد الأدنى من إصدار Jelly Beans هو 4.1.2 ، والإصدار الأمثل هو KitKat 4.4.4:

//.............................

توقيع الطلب

عندما يكون كل شيء جاهزًا ، يجب توقيع تطبيق Android بشهادة ، بفضلها يمكن التعرف على مؤلف التطبيق. عندما نختبر تطبيقًا عن طريق تثبيته من خلال Android Studio على الجهاز ، يتم توقيعه تلقائيًا. ولكن لإنشاء نسخة إصدار ، نحتاج إلى تنفيذ سلسلة إضافية من الإجراءات.

عند إنشاء شهادة ، ضع في اعتبارك أنه عند تحديث التطبيق ، سيقارن النظام شهادات الإصدارين القديم والجديد. وسيحدث التحديث في حالة تطابق شهادات كلا الإصدارين. ولكن إذا تم توقيع الإصدار الجديد بشهادة جديدة ، فسيتم التعامل مع التطبيق على أنه جديد تمامًا ، ولا علاقة له بالإصدار القديم ويمثل تطبيقًا مختلفًا تمامًا. في هذه الحالة ، لتثبيته ، يجب أن يكون للإصدار الجديد اسم حزمة مختلف عن الاسم القديم.

أولاً ، في Android Studio ، حدد Build -> Generate Signed APK من القائمة. سيؤدي هذا إلى فتح نافذة المعالج:

انقر على زر إنشاء جديد ... بعد ذلك ، ستفتح نافذة لإنشاء مفتاح:

أدخل المسار إلى ملف شهادة الشبكة الذي سيتم إنشاؤه في حقل مسار مخزن المفاتيح. إذا كان المجلد المحدد غير موجود ، فقم بإنشائه أو تحديد مجلد موجود.

حدد كلمة المرور في حقل كلمة المرور / التأكيد.

حدد اسمًا مستعارًا في حقل الاسم المستعار. يمكنك وضع اسم تعسفي.

في حقل الاسم الأول واسم العائلة ، أدخل الاسم الأول والأخير. ثم نكتب رمز الوحدة والمنظمة والمدينة والبلد والبلد.

في النهاية ، انقر فوق "موافق".

بعد ذلك ، سيتم تحديث النافذة الأولى تلقائيًا:

ستظهر لنا النافذة النهائية المسار إلى الدليل حيث يوجد تطبيق apk الموقع في نسخة الإصدار. انقر فوق "إنهاء".

الآن ، في المسار المحدد ، يمكنك العثور على ملف apk موقّع ، والذي سيكون له الاسم app-release.apk:

يمكننا إعادة تسمية الملف والاحتفاظ بامتداده وتحميله إلى Play Market أو أي موقع أو تنزيله مباشرة على جهازك المحمول. بعد التنزيل على هاتفك / جهازك اللوحي ، ما عليك سوى النقر فوقه ، وسيتم تثبيت التطبيق باستخدام مثبت الحزمة القياسي. صحيح ، نحتاج هنا أيضًا إلى مراعاة أنه إذا قمنا بتثبيت التطبيق ليس من Play Market ، فسنحتاج في الإعدادات إلى السماح بالتثبيت من مصادر أخرى - الأمان -> مصادر غير معروفة (السماح بتثبيت التطبيقات من مصادر أخرى)