الإيضاح

الإعلانات

الإيضاح <manifest>

 

الإيضاح <manifest>

بناء الجملة:

وارد في:

لا شيء.

يجب أن يحتوي على:
عنصر التطبيق <application>

يمكن أن يحتوي:

<compatible-screens>
<instrumentation>
<permission>
<permission-group>
<permission-tree>
<supports-gl-texture>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-permission>
<uses-permission-sdk-23>
<uses-sdk>

الوصف:

العنصر الأساسي لملف إيضاح الأندرويد AndroidManifest.xml. يجب أن يحتوي على عنصر <application> ويعرف xmlns:android وسمات الحزمة.

السمات:

xmlns:android

يحدد نطاق الأندرويد. هذه السمة يجب أن تعين دائماً على “http://schemas.android.com/apk/res/android“.

الحزمة package

الاسم الكامل لحزمة نمط لغة الجافا لتطبيق الأندرويد. قد يحتوي الاسم على أحرف كبيرة أو صغيرة، أرقام وشرطات سفلي(_).

مع ذلك، أجزاء اسم الحزمة الشخصية قد تبدأ بالأحرف فقط. أثناء بناء تطبيقك في حزمة التطبيق (APK)، يستخدم نظام البناء سمة الحزمة لشيئين:

  • يطبق هذا الاسم كنطاق لفئة المصادر R.java التي تم إنشاؤها لتطبيقك (تستخدم للوصول إلى مصادر تطبيقك).

مثال، إذا تم تعيين الحزمة على “com.example.myapp“، فسيتم إنشاء فئة المصادر في com.example.myapp.R.

  • تستخدم هذا الأسم لحل أي أسماء لفئات ذات صلة والتي تم تعريفها في ملف الإيضاح.

مثال، إذا تم تعيين الحزمة على “com.example.myapp“، نشاط ما تم الإعلان عنه كـ<"activity android:name=".MainActivity> يتم حله ليكون com.example.myapp.MainActivity.

هذا الاسم هو أيضاً الاسم الإفتراضي لعملية تطبيقك (راجع سمة عملية العنصر “تطبيق”). وهي عملية التقارب الإفتراضية لأنشطتك (راجع سمة مهمة التقارب للعنصر “نشاط”).

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

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

طالما تبقي اسم حزمة الإيضاح بنفس اسم ملف بناء معرف التطبيق، فلن يكون هذا مصدر للقلق.

ولكن إن اختلفت هاتان القيمتان، فينبغي أن تعرف الفرق بين “اسم الحزمة” و “معرف التطبيق” من خلال قراءة كيفية تعيين معرف التطبيق.

لتجنب التعارض مع مطورين آخرين، يجب عليك إستخدام نطاق أنترنت خاص بك كأساس لأسماء حزمك (بشكلٍ معكوس). مثال، التطبيقات التي تنشرها قوقل تبدأ بـcom.google.

 

ملاحظة: يمنع قوقل بلاي إستخدام كلٍ من النطاقين com.example و com.android.

 

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

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

android:sharedUserId

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

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

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

android:targetSandboxVersion

البيئة الإفتراضية المستهدفة لهذا التطبيق لكي يستخدمها. كلما زاد رقم نسخة “البيئة الإفتراضية”، كلما زاد مستوى الحمايه. قيمته الإفتراضية هي 1.

يمكنك أيضاً تعيينها إلى 2. تعيين هذه السمة إلى 2 يؤدي إلى تبديل التطبيق إلى وضع حماية مختلف من SELinux.

تنطبق القيود التاليه على وضع الحمايه بالمستوى 2:

بالنسبة لتطبيقات الأندرويد الفورية التي تستهدف الإصدار أندرويد 8.0 (API 26) أو أعلى، يجب تعيين هذه السمة إلى 2.

يمكنك ضبط مستوى الحماية في النسخة المثبته من تطبيقك إلى المستوى الأقل تقييداً 1.

ولكن إن قمت بذلك، فإن تطبيقك لن يستمر في جلب البيانات من التطبيق الفوري إلى النسخة المثبتة من تطبيقك.

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

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

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

android:sharedUserLabel

المسمى لمعرف المستخدم المشترك. يجب تعيينها كمرجع لمصدر سلسلة؛ لا يمكن أن تكون سلسلة خام.

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

android:versionCode

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

هذا ليس رقم الإصدار الظاهر للمستخدمين؛ فذلك الرقم يتم تعيينه بواسطة السمة اسم النسخة.

القيمة يجب تعيينها كعدد صحيح؛ مثل “100”.

يمكنك تعيينه كما تريد، طالما أن كل نسخة تاليه لها رقم أعلى.

مثال، يمكن أن يكون رقم بناء. أو يمكنك ترجمة رقم الإصدار بالتنسيق “x.y” إلى عدد صحيح من خلال تشفير “x” و “y” بشكل منفصل بـ16 بايت العليا والسفلى.

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

android:versionName

رقم الإصدار الظاهر للمستخدمين. يمكن تعيين هذه السمة كسلسلة خام أو كمرجع لمصدر سلسلة.

ليس للسلسلة غرض آخر سوى عرضها للمستخدمين. تحتوي سمة كود النسخة على رقم نسخة هام يستخدم داخلياً.

android:installLocation

موقع التثبيت الإفتراضي للتطبيق.

السلاسل الرئيسية التاليه مقبوله:

القيمه الوصف
“internalOnly” داخلي فقط يجب تثبيت التطبيق فقط على وحدة التخزين الداخلية للجهاز.

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

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

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

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

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

“preferExternal” يفضل خارجي يفضل التطبيق أن يتم تثبيته على وحدة التخزين الخارجية (بطاقة SD).

ليس هناك ما يضمن أن النظام سيحترم هذا الطلب.

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

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

 

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

عندما يتم تثبيت تطبيق على وحدة التخزين الخارجية:

– يتم حفظ ملف apk على وحدة التخزين الخارجية، ولكن أي بيانات للتطبيق (مثل قواعد البيانات) يتم حفظها على الذاكرة الداخلية للجهاز.

– الحاوية التي يحفظ فيها ملف apk يتم تشفيرها بواسطة مفتاح يسمح للتطبيق أن يعمل فقط على الجهاز الذي تم تثبيته عليه.

(لا يمكن للمستخدم نقل بطاقة SD إلى جهاز آخر وإستخدام التطبيقات المثبته عليها).

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

– بناءً على طلب المستخدم، يمكن نقل التطبيق إلى وحدة التخزين الداخلية.

قد يطلب المستخدم أيضاً نقل أحد التطبيقات من الذاكرة الداخلية إلى الذاكرة الخارجية.

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

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

مقدم في: API 8.

مقدم في: الإيضاح الإيضاح الإيضاح الإيضاح
API 1 لجميع السمات، ما لم يذكر خلاف ذلك في وصف السمة.

راجع أيضاً:

التطبيق.

 


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات

23 thoughts on “الإيضاح”

اترك رد