إنشاء ملف APK. كيفية استخراج ملف تثبيت التطبيق (.apk) من الجهاز

04.04.2019

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

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

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

يتم استخراج ARC من التطبيقات المثبتة باستخدام برنامج خاص. يعد مدير الملفات المناسب مثاليًا لهذا الغرض. مدير الملفات أسترو.

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

1. لكي يعمل Astro File Manager، سيتعين عليك تثبيته على جهازك، وسيتعين عليك إلقاء نظرة على Google Play. بعد الانتهاء من عملية التثبيت، يمكنك البدء في العمل.

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

3. اسحب لليسار لفتح قائمة التطبيق الرئيسية. في أسفل اليسار، انقر على أيقونة الأدوات وانتقل إلى مدير التطبيقات.

4. ستظهر لك قائمة بجميع البرامج والألعاب المثبتة.

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

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

حان الوقت للحصول على تطبيقك الجاهز الذي يمكن تشغيله على الهاتف الذكي أو الجهاز اللوحي. إذا قمت بتشغيل Corona SDK على نظام التشغيل Windows، فلن يتوفر سوى التجميع لنظام Android. لإنشاء إصدار لنظام iOS، تحتاج إلى تشغيل البرنامج على نظام Mac. بغض النظر عن النظام الذي تختاره، ستحتاج أولاً إلى مفتاح المطور.

للتجميع، انتقل إلى File > Build for Android أو اضغط على Ctrl + B. سيتم فتح النافذة التالية.

اسم التطبيق. اسم التطبيق الخاص بك. ومن الأفضل كتابته بنفس لغة التطبيق نفسه. يمكن أن يكون بالأحرف الروسية أو اللاتينية، هذا ليس مهما.

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

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

طَرد. معرف التطبيق الفريد تتم كتابته تقليديًا باسم com.company_name.application_name. بدلاً من com الأولي، يتم العثور أحيانًا على ru أو io. يجب أن تحتوي كل كلمة على حرفين على الأقل وتبدأ بحرف لاتيني. قد تتضمن أرقامًا وأحرفًا لاتينية وشرطات سفلية. لا يسمح بأحرف أخرى في الكتابة. لا يُسمح أيضًا باستخدام الكلمات الأساسية المحفوظة في Java مثل function و int و for وما إلى ذلك.

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

  • أمازون - لخدمة متجر أمازون؛
  • GameStick - لمنصة GameStick؛
  • Google Play - لخدمة التوزيع الرقمي Google Play؛
  • Nook - لمتجر Barnes & Noble؛
  • Ouya - لوحدة تحكم لعبة Ouya؛
  • لا شيء - التطبيق غير مخصص للمتاجر الرقمية.

الحد الأدنى لإصدار SDK. الحد الأدنى من إصدار Android الذي يمكن تشغيل تطبيقك عليه. لا يمكن تغيير هذه القيمة.

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

الاسم المستعار الرئيسي. اسم المفتاح. إذا كان هو الوحيد، فسيتم تحديده تلقائيًا.

حفظ إلى المجلد. المجلد الذي يجب أن تحفظ فيه ملف APK النهائي. بشكل افتراضي يتم حفظه في مجلد المشروع.

يتم حفظ كافة الإعدادات التي تم إدخالها وليس هناك حاجة لتحديدها مرة أخرى عند التجميع مرة أخرى.

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

مقدمة

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

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

إذًا، ما هي حزمة APK التي يتم من خلالها توزيع جميع برامج Android؟

تفكيك التطبيق

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

  • dex2jar هو مترجم Dalvik bytecode إلى JVM bytecode، وعلى أساسه يمكننا الحصول على كود بلغة Java؛
  • jd-gui هو برنامج فك ترجمات بحد ذاته يسمح لك بالحصول على كود Java قابل للقراءة من كود JVM الثانوي. وكبديل، يمكنك استخدام جاد (www.varaneckas.com/jad)؛ على الرغم من أنها قديمة جدًا، إلا أنها في بعض الحالات تولد تعليمات برمجية أكثر قابلية للقراءة من Jd-gui.

هذه هي الطريقة التي ينبغي استخدامها. أولاً، أطلقنا dex2jar، مع تحديد المسار إلى حزمة APK كوسيطة:

% dex2jar.sh mail.apk

ونتيجة لذلك، ستظهر حزمة Java mail.jar في الدليل الحالي، والذي يمكن فتحه بالفعل في jd-gui لعرض كود Java.

ترتيب حزم APK واستلامها

حزمة تطبيقات Android هي في الأساس ملف ZIP عادي ولا يتطلب أي أدوات خاصة لعرض محتوياته أو استخراجه. يكفي أن يكون لديك برنامج أرشيفي - 7zip لنظام التشغيل Windows أو وحدة تحكم لفك الضغط على Linux. ولكن هذا يتعلق بالمغلف. ماذا يوجد في الداخل؟ بشكل عام، لدينا الهيكل التالي في الداخل:

  • معلومات التعريف/- يحتوي على شهادة رقمية للتطبيق، مع تحديد منشئه، والمجاميع الاختبارية لملفات الحزمة؛
  • الدقة/ - الموارد المختلفة التي يستخدمها التطبيق في عمله، مثل الصور والوصف التعريفي للواجهة، بالإضافة إلى البيانات الأخرى؛
  • AndroidManifest.xml- وصف التطبيق. يتضمن ذلك، على سبيل المثال، قائمة بالأذونات المطلوبة وإصدار Android المطلوب ودقة الشاشة المطلوبة؛
  • classs.dex- كود ثانوي للتطبيق مُجمَّع للجهاز الظاهري Dalvik؛
  • الموارد.arsc- أيضًا موارد، ولكن من نوع مختلف - على وجه الخصوص، السلاسل (نعم، يمكن استخدام هذا الملف للترويس!).

الملفات والأدلة المدرجة موجودة، إن لم تكن كلها، فربما تكون موجودة في الغالبية العظمى من ملفات APK. ومع ذلك، هناك عدد قليل من الملفات/الأدلة غير الشائعة الجديرة بالذكر:

  • أصول- التناظرية للموارد. والفرق الرئيسي هو أنه للوصول إلى مورد ما، يجب عليك معرفة معرفه، ولكن يمكن الحصول على قائمة الأصول ديناميكيًا باستخدام طريقة AssetManager.list() في كود التطبيق؛
  • ليب- مكتبات Linux الأصلية المكتوبة باستخدام NDK (Native Development Kit).

يتم استخدام هذا الدليل من قبل منتجي الألعاب الذين يضعون محركات الألعاب الخاصة بهم مكتوبة بلغة C/C++ هناك، وكذلك من قبل منشئي التطبيقات عالية الأداء (على سبيل المثال، Google Chrome). اكتشفنا الجهاز. ولكن كيف يمكنك الحصول على ملف الحزمة الخاص بالتطبيق الذي تهتم به؟ نظرًا لأنه من غير الممكن التقاط ملفات APK من الجهاز بدون الجذر (وهي موجودة في الدليل /data/app)، ولا يُنصح دائمًا بالتجذير، فهناك ثلاث طرق على الأقل لتوصيل ملف التطبيق إلى جهاز الكمبيوتر الخاص بك:

  • ملحق تنزيل APK لمتصفح Chrome؛
  • التطبيق الحقيقي APK Leecher.
  • استضافة الملفات المختلفة وVarezniks.

أيهما يجب استخدامه هو مسألة ذوق؛ نحن نفضل استخدام تطبيقات منفصلة، ​​لذلك سنصف استخدام Real APK Leecher، خاصة أنه مكتوب بلغة Java وبالتالي سيعمل إما في Windows أو Nix.

بعد بدء البرنامج، تحتاج إلى ملء ثلاثة حقول: البريد الإلكتروني وكلمة المرور ومعرف الجهاز - واختيار اللغة. الأولان هما البريد الإلكتروني وكلمة المرور لحساب Google الخاص بك الذي تستخدمه على الجهاز. والثالث هو معرف الجهاز، ويمكن الحصول عليه عن طريق كتابة الرمز على برنامج الاتصال # #8255## ثم ابحث عن سطر معرف الجهاز. عند ملئه، ما عليك سوى إدخال المعرف بدون البادئة android.

بعد ملء البيانات وحفظها، تظهر غالبًا رسالة "خطأ أثناء الاتصال بالخادم". لا علاقة له بـ Google Play، لذا لا تتردد في تجاهله والبحث عن الحزم التي تهمك.

عرض وتعديل

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

  • أرشيف ZIPللتفريغ والتعبئة.
  • سمالي- مجمع/مفكك كود البايت للجهاز الظاهري Dalvik (code.google.com/p/smali);
  • ملائمة- أداة لتعبئة الموارد (افتراضيًا، يتم تخزين الموارد في شكل ثنائي لتحسين أداء التطبيق). مضمن في Android SDK، ولكن يمكن الحصول عليه بشكل منفصل؛
  • الموقع- أداة للتوقيع الرقمي على الحزمة المعدلة (bit.ly/Rmrv4M).

يمكنك استخدام كل هذه الأدوات بشكل منفصل، ولكن هذا غير مريح، لذلك من الأفضل استخدام برامج عالية المستوى مبنية على أساسها. إذا كنت تعمل على Linux أو Mac OS X، فهناك أداة تسمى apktool. فهو يسمح لك بتفريغ الموارد في شكلها الأصلي (بما في ذلك ملفات XML وarsc الثنائية)، وإعادة بناء حزمة بموارد تم تغييرها، لكنه لا يعرف كيفية توقيع الحزم، لذلك سيتعين عليك تشغيل أداة التوقيع يدويًا. على الرغم من أن الأداة المساعدة مكتوبة بلغة Java، إلا أن تثبيتها غير قياسي تمامًا. تحتاج أولاً إلى الحصول على ملف الجرة نفسه:

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $export PATH=~/bin:$PATH

إذا كنت تعمل على نظام Windows، فهناك أداة ممتازة لها تسمى Virtious Ten Studio، والتي تقوم أيضًا بتجميع كل هذه الأدوات (بما في ذلك apktool نفسها)، ولكن بدلاً من واجهة CLI فهي توفر للمستخدم واجهة رسومية بديهية يمكنك من خلالها إجراء عمليات التفريغ والتفكيك والتفكيك ببضع نقرات. هذه الأداة عبارة عن أداة تبرع، أي أنه في بعض الأحيان تظهر نوافذ تطلب منك الحصول على ترخيص، ولكن في النهاية يمكن التسامح مع ذلك. لا فائدة من وصفها، لأنه يمكنك فهم الواجهة في بضع دقائق. ولكن يجب مناقشة أداة apktool بمزيد من التفصيل نظرًا لطبيعة وحدة التحكم الخاصة بها.


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

دعونا نلقي نظرة على الخيارات الأكثر إثارة للاهتمام في الأمر الأول:

  • - لا تقم بتفكيك ملفات dex؛
  • - لا تفريغ الموارد؛
  • - لا تقم بإدراج معلومات التصحيح في نتائج تفكيك ملف dex؛
  • --مسار الإطار- استخدم إطار عمل واجهة المستخدم المحدد بدلاً من الإطار المدمج في أداة apktool. الآن دعونا نلقي نظرة على خيارين للأمر b:
  • -F- التجميع القسري دون التحقق من التغييرات؛
  • - حدد المسار إلى aapt (أداة لإنشاء أرشيف APK)، إذا كنت تريد استخدامه من مصدر آخر لسبب ما.

يعد استخدام apktool أمرًا بسيطًا للغاية للقيام بذلك، ما عليك سوى تحديد أحد الأوامر والمسار إلى APK، على سبيل المثال:

$ apktool د mail.apk

بعد ذلك، ستظهر جميع ملفات الحزمة المستخرجة والمفككة في دليل البريد.

تحضير. تعطيل الإعلانات

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


لذلك، باستخدام إحدى الطرق المذكورة أعلاه، قم بتنزيل التطبيق من السوق. إذا قررت استخدام Virtious Ten Studio، فما عليك سوى فتح ملف APK في التطبيق وفك ضغطه، وإنشاء مشروع (ملف -> مشروع جديد)، ثم تحديد استيراد ملف في قائمة سياق المشروع. إذا وقع اختيارك على apktool، فما عليك سوى تشغيل أمر واحد:

$ apktool d com.kauf.particle.virtualtorch.apk

بعد ذلك، ستظهر شجرة ملفات مشابهة لتلك الموضحة في القسم السابق في الدليل com.kauf.particle.virtualtorch، ولكن مع دليل smali إضافي بدلاً من ملفات dex وملف apktool.yml. يحتوي الأول على كود مفكك لملف dex القابل للتنفيذ الخاص بالتطبيق، والثاني يحتوي على معلومات الخدمة اللازمة لأداة apktool لتجميع الحزمة مرة أخرى.

المكان الأول الذي يجب أن ننظر إليه هو بالطبع AndroidManifest.xml. وهنا نواجه على الفور السطر التالي:

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

$ apktool b com.kauf.particle.virtualtorch

سيظهر ملف APK الناتج في الدليل com.kauf.particle.virtualtorch/build/. ومع ذلك، لن يكون من الممكن تثبيته، لأنه لا يحتوي على توقيع رقمي ومجاميع اختبارية للملف (ببساطة لا يحتوي على دليل META-INF/). يجب علينا التوقيع على الحزمة باستخدام الأداة المساعدة apk-signer. انطلقت. تتكون الواجهة من علامتي تبويب - في الأولى (Key Generator) نقوم بإنشاء المفاتيح، وفي الثانية (APK Signer) نقوم بالتوقيع. لإنشاء مفتاحنا الخاص، املأ الحقول التالية:

  • الملف الهدف- ملف إخراج مخزن المفاتيح؛ وعادةً ما يقوم بتخزين زوج واحد من المفاتيح؛
  • كلمة المرورو يتأكد- كلمة المرور للتخزين.
  • الاسم المستعار- اسم المفتاح الموجود في المخزن؛
  • كلمة المرور المستعارةو يتأكد- كلمة مرور المفتاح السري؛
  • صلاحية- مدة الصلاحية (بالسنوات). القيمة الافتراضية هي الأمثل.

الحقول المتبقية اختيارية بشكل عام - ولكن يجب ملء واحد منها على الأقل.


تحذير

لتوقيع تطبيق باستخدام apk-signer، يجب عليك تثبيت Android SDK وتحديد المسار الكامل له في إعدادات التطبيق.

يتم توفير جميع المعلومات لأغراض إعلامية فقط. لا يتحمل المحررون ولا المؤلف مسؤولية أي ضرر محتمل ناتج عن مواد هذه المقالة.

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

معلومات

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

التوقيع الرقمي مطلوب فقط لبرامج الطرف الثالث، لذلك إذا كنت تقوم بتعديل تطبيقات النظام المثبتة عن طريق نسخها إلى الدليل /system/app/، فلن تحتاج إلى التوقيع عليها.

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

عادةً ما يقوم مؤلفو التطبيق بإنشاء فئات خاصة لعرض الإعلانات وطرق الاتصال بهذه الفئات عند تشغيل التطبيق أو أحد "أنشطته" (بعبارات بسيطة، شاشات التطبيق). دعونا نحاول العثور على هذه الفئات. نذهب إلى دليل smali، ثم com (org يحتوي فقط على مكتبة الرسومات المفتوحة cocos2d)، ثم kauf (هذا هو مكانه، لأن هذا هو اسم المطور وكل أكواده البرمجية موجودة) - وها هو، دليل التسويق. نجد في الداخل مجموعة من الملفات ذات الامتداد smali. هذه فئات وأبرزها فئة Ad.smali والتي من السهل تخمين أنها هي التي تعرض الإعلانات.

يمكننا تغيير منطق عمله، ولكن سيكون من الأسهل بكثير إزالة الاستدعاءات لأي من أساليبه من التطبيق نفسه. لذلك، نترك دليل التسويق وننتقل إلى دليل الجسيمات المجاور، ثم إلى Virtualtorch. يستحق الملف MainActivity.smali اهتمامًا خاصًا هنا. هذه فئة Android قياسية تم إنشاؤها بواسطة Android SDK وتثبيتها كنقطة دخول إلى التطبيق (مماثلة للوظيفة الرئيسية في لغة C). افتح الملف للتحرير.

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

إعلان خاص ميداني:Lcom/kauf/marketing/Ad;

هنا يتم إنشاء حقل إعلان لتخزين كائن فئة الإعلان. نقوم بالتعليق بوضع علامة # أمام السطر. نواصل البحث. السطر 423:

المثيل الجديد v3، Lcom/kauf/marketing/Ad؛

هذا هو المكان الذي يحدث فيه إنشاء الكائن. دعونا التعليق. نواصل البحث ونجد في السطور 433، 435، 466، 468، 738، 740، 800 و 802 استدعاءات لطرق فئة الإعلان. دعونا التعليق. تبدو وكأنها كل شيء. يحفظ. الآن يجب إعادة تجميع الحزمة معًا والتحقق من وظائفها ووجود الإعلانات. لنقاء التجربة، نعيد السطر الذي تمت إزالته من AndroidManifest.xml، ونجمع الحزمة ونوقعها ونثبتها.

خنزير غينيا لدينا. الإعلان مرئي

أُووبس! اختفت الإعلانات فقط أثناء تشغيل التطبيق، ولكنها ظلت في القائمة الرئيسية، والتي نراها عند تشغيل البرنامج. إذن، انتظر، ولكن نقطة الدخول هي فئة MainActivity، وقد اختفى الإعلان أثناء تشغيل التطبيق، لكنه بقي في القائمة الرئيسية، فهل نقطة الدخول مختلفة؟ لتحديد نقطة الإدخال الحقيقية، أعد فتح ملف AndroidManifest.xml. و نعم يحتوي على الأسطر التالية:

يخبروننا (والأهم من ذلك، android) أنه يجب إطلاق نشاط يسمى Start استجابةً لإنشاء هدف (حدث) android.intent.action.MAIN من فئة android.intent.category.LAUNCHER. يتم إنشاء هذا الحدث عند النقر على أيقونة التطبيق في المشغل، لذلك فهو يحدد نقطة الدخول، وهي فئة البداية. على الأرجح، قام المبرمج أولاً بكتابة تطبيق بدون قائمة رئيسية، كانت نقطة الدخول إليها هي فئة MainActivity القياسية، ثم أضاف نافذة جديدة (نشاط) تحتوي على القائمة والموصوفة في فئة Start، وجعلها الإدخال يدويًا نقطة.

افتح ملف Start.smali وابحث مرة أخرى عن السطر "Ad"، نجد في السطرين 153 و155 ذكرًا لفئة FirstAd. وهو موجود أيضًا في الكود المصدري، ووفقًا للاسم، فهو مسؤول عن عرض الإعلانات على الشاشة الرئيسية. دعونا ننظر إلى أبعد من ذلك، نحن نقوم بإنشاء مثيل لفئة FirstAd ونية مرتبطة بهذا المثيل في السياق، ثم تسمية cond_10، وهو انتقال مشروط يتم تنفيذه بالضبط قبل إنشاء مثيل للفئة:

If-ne p1, v0, :cond_10 .line 74 new-instance v0, Landroid/content/Intent; ... :cond_10

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

#if-ne p1, v0, :cond_10 goto:cond_10

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

نتائج

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

كيفية إنشاء تطبيق للأندرويد - 10 خطوات + 5 مواقع + 10 نصائح للمبرمجين المبتدئين.

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

تعلم برمجة وإنشاء الألعاب والمكتبات والمتاجر عبر الإنترنت ليس بالأمر الصعب.

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

خطوات إنشاء تطبيق أندرويد

بعد دراسة جميع الخطوات اللازمة، يمكنك إنشاء برنامجك الخاص وطرحه للبيع.

فكر في موضوع أصلي.

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

الاستعداد للفشل.

على الأرجح، سوف تخرج الفطيرة الأولى متكتلة.

اختبر بعناية نتيجة عملك.

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

حدد جمهورك العمري.

يجب أن يكون التطبيق المخصص للطفل أكثر إشراقًا وأكثر سخونة من تطبيق الشخص البالغ.

قدم الكثير من المعلومات وخيارات القائمة. يحب الأشخاص التجول في الصفحات واستكشاف علامات التبويب.

قليل من الناس سيحبون برنامجًا من صفحة واحدة.

لا تتقاضى الكثير مقابل وظيفتك الأولى.

أولا عليك أن تملأ يدك.

كيف تكتب تطبيق للاندرويد؟


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

بالنسبة للبعض، سوف تصبح وظيفة وعملاً مربحًا، وبالنسبة للآخرين ستكون مجرد هواية.

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

لتصبح مطورًا، تحتاج إلى:

  • للعمل سوف تحتاج إلى جهاز كمبيوتر شخصي مع إمكانية الوصول إلى الإنترنت.
  • لا يمكن إجراء التقييم إلا من خلال هاتف محمول مثبت عليه أحدث إصدار من نظام Android.
  • معرفة اللغة الإنجليزية على الأقل في الحد الأدنى أمر مرغوب فيه.
  • مطلوب معرفة لغة جافا.
  • إن معرفة علامات XML ستجعل عملك أسهل وتسمح لك بإنشاء برامج ملونة ومصممة بشكل جميل.

يمكن دمج جميع المراحل الموصوفة في ثلاث مراحل رئيسية:

  1. تطوير واجهة البرنامج واختيار الصور.
  2. العمل مع الكود.
  3. اختبارات.

كل مرحلة مهمة بطريقتها الخاصة ولا ينبغي تخطيها.

قد يقرر البعض أنه لا فائدة من قضاء الوقت في هذا المفهوم.

لكن لا أحد يجلس ليؤلف كتابًا دون أن يعرف ما هو موضوعه؟

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

يجب أن يكون مفهوما أنه لا توجد إجابة واضحة على السؤال: كيفية إنشاء تطبيق لنظام Android.

لا يكفي مجرد إنشائه، بل تحتاج إلى جعل البرنامج مثيرًا للاهتمام.

تسمح لك مواقع الويب الحديثة بإنشاء ما يدور في ذهنك بسرعة دون مواجهة التعليمات البرمجية.

للهواة، هذا الخيار مناسب تماما.

إذا كنت تريد، فسيتعين عليك أن تفعل كل شيء بنفسك.

وينبغي أيضا إيلاء مرحلة الاختبار الاهتمام الواجب.

يتيح لنا تحليل آراء المختبرين استخلاص استنتاج حول كيفية إدراك أصحاب الهواتف الذكية التي تعمل بنظام Android للمنتج الجديد.

كيفية إنشاء تطبيق للأندرويد والترويج له؟

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

للحصول على أسرع انتشار، يجب عليك:

  1. استخدم المراجع التبادلية مع المالكين الآخرين للشبكات الاجتماعية والمدونات.
  2. نشر الروابط على مدونتك الخاصة.
  3. أخبر أصدقاءك عن البرنامج الذي تم إنشاؤه.

يوضح الفيديو أدناه عملية إنشاء تطبيق باستخدام خدمة Appsgeyser:

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

ومع ذلك، لا يوجد شيء مخيف أو صعب في تطوير البرامج.

تقوم المواقع الحديثة عبر الإنترنت بجميع الإجراءات اللازمة، ما عليك سوى توجيهها.

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

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

ستجد في المجموعة أربع أدوات تتيح لك إنشاء تطبيق - بسرعة وسهولة. جميع الأدوات المقترحة تشبه مجموعات البناء، حيث يتعين عليك تجميع تطبيقك الأول من مختلف المكونات الجاهزة، ويمكنك إنشاء تطبيق بنفس الطريقة التي تقوم بها بتجميع مُنشئ Lego.

تم اختيار جميع الأدوات وفقًا للمعايير التالية:

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

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

com.TheAppBuilder

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

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

AppsGeyser


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

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

AppsMakerstore




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

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

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