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

A. دعونا أولاً نلقي نظرة على بنية الملف قبل فك الترجمة. كما هو موضح في الشكل:

B. بعد ذلك، دعنا نتحدث عن العملية الفعلية لإلغاء الترجمة، ثم ننظر إلى الملف الذي تم فك ترجمته

بعد تنزيل الأداة المتوفرة [أداة فك الترجمة والتجميع APK v141] في الدورة الصينية 1، من الأفضل إنشاء مجلد جديد (يسمى apktool)، ثم وضع أداة apktool في المجلد، ووضع APK الذي يحتاج إلى فك ترجمته، أي مفتاح اختصار شريط الإعلام NotificationToggle، في المجلد apktool وأعد تسميته إلى 123.apk، ثم انقر فوق apktool. v1.4.1 واتبع المطالبات المذكورة أعلاه لإكمال عملية فك تجميع APK والتجميع (التجميع الخلفي) والتوقيع والعمليات الأخرى.

نظرًا لأن مقدمة العملية في الأداة مفصلة جدًا بالفعل، فلن أشرح الكثير. إذا ظهرت الواجهة التالية، فهذا يعني أنك قمت بفك ترجمتها بنجاح:

C. بعد ذلك، دعونا نلقي نظرة على الفرق بين الملف الذي تم فك ترجمته والملف الأصلي:

من خلال مقارنة الملفات قبل وبعد فك الترجمة، يمكنك العثور على التغييرات في الملفات.

د. بعد ذلك، دعونا نحصل على فهم عام لوظائف هذه الملفات:


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

META-INF بتخزين معلومات التوقيع، والتي يتم استخدامها لضمان سلامة حزمة APK وأمن النظام. يقوم الدليل
res بتخزين ملفات الموارد. تحتوي البرامج المختلفة على مجلدات مختلفة في دليل الدقة. بشكل عام، هو المجلد
drawable (حيث توجد الصورة))
drawable-hdpi (المجلد الذي توجد به الصورة عالية الدقة)
layout (المجلد الذي يوجد به ملف تخطيط الواجهة xml)
layout-hdpi (المجلد الذي يوجد به ملف xml لتخطيط الواجهة عالي الدقة). لم يتم تضمين هذا في هذا البرنامج. يوجد في العديد من البرامج)
menu (الدليل الذي توجد به بعض ملفات القائمة غير موجود في هذا البرنامج، ولكنه موجود في العديد من البرامج)
raw (مجلد يقوم بتخزين مستندات المساعدة أو الموارد الأخرى، مثل help.html؛ Clock.zip، غير موجود في هذا البرنامج)
xml (الدليل الذي توجد به بعض ملفات xml الأخرى)

بالنسبة لمثال [SD Card Cleanup Tool] في هذا البرنامج التعليمي، لا يوجد سوى andmin، drawable، drawable-hdpi، تخطيط، القائمة والقيم وملفات XML.
drawable يقوم هذا المجلد عادةً بتخزين الصور في البرنامج. إذا كنت تريد تعديل الصور باستخدام بعض البرامج، فيجب أن تجدها هنا! بشكل عام، يمكن العثور على الصور التي تحتاج إلى تعديل في هذا المجلد لبعض الألعاب الصغيرة.
تقوم المجلدات الأخرى بتخزين بعض ملفات XML، وستكون هناك أيضًا أماكن تحتاج إلى تحويلها إلى اللغة الصينية.
AndroidManifest. xml هو ملف XML الرئيسي الذي يجب تعريفه وإدراجه بواسطة كل تطبيق. فهو يصف الاسم والإصدار والأذونات وملفات المكتبة المرجعية والمعلومات الأخرى الخاصة بالتطبيق. في الأساس، ليست هناك حاجة إلى تحويله إلى اللغة الصينية، ولكن أسماء البرامج الفردية جدًا أو الكلمات الفردية ستكون موجودة في ملف XML الرئيسي هذا!
الفصول الدراسية. dex هو ملف Java bytecode تم إنشاؤه بعد تجميع كود مصدر Java. وبمصطلحات الشخص العادي، فهو ملف التعليمات البرمجية المصدر للبرنامج بأكمله.
الإصدار الصيني الرئيسي من APKTOOL هو (الصورة أدناه)

----------------------------------------------------------------------------------------------------------------------------------------------------------
ملاحظة: برنامج فك الترجمة (هناك العديد من إصدارات apktool) يأخذ هذا البرنامج التعليمي أداة فك تجميع وتجميع APK v141 كمثال.