AndroidManifest چیست و چه کاربردی دارد ؟
سلام دوستان و همراهان گرامی امروز به بررسی AndroidManifest چیست و چه کاربردی دارد ؟ خواهیم پرداخت AndroidManifest را شاید بتوان به استخوان های بدن تشبیه کرد چرا که اگر AndroidManifest وجود نداشته باشد اپلیکیشن بدون هویت است و نمی تواند نصب شود همانطور که اگر استخوان نباشد انسان نمی تواند راه رود دلایل زیادی برای اینکه AndroidManifest باید وجود داشته باشد هست در ادامه با ما همراه باشید تا چرایی وجود AndroidManifest را بررسی کنیم.
AndroidManifest چیست ؟
همان طور که در بالا گفتیم بخش اصلی ما AndroidManifest است تمامی بخش های برنامه با این قسمت در ارتباط است اگر شما بخواهید یک اکتیویتی یک Service یا حتی یک Provider برای اشتراک گذاری تعریف کنید لازم است از AndroidManifest استفاده کنید این فایل یکپارچگی ای در برنامه شما ایجاد می کند در قدیم برای اینکه یک کتاب خانه را import کنید لازم بود از این فایل استفاده شود اما به خاطر استفاده از gradle در اندروید این بخش از AndroidManifest حذف شد.
شما می توانید مبحث Gradle را در زیر مطالعه کنید.
Gradle (گریدل) چیست ؟
دلایل وجود AndroidManifest در اندروید استودیو
هر اپلیکیشنی که ساخته می شود نیازمند AndroidManifest است زیرا باید هر اپلیکیشن یک نام منحصر به فرد داشته باشد این نام به package name در androiodmanifest معروف است نام اپلیکیشن یا Application name در androidmanifest تنظیم می شود.
دلایل وجود AndroidManifest در زیر عبارتند از :
- دسترسی ها یا Permission
- تعیین Android Api
- تعریف Library ها برای link شدن به پروژه
- تعریف Service ها و Activity ها و Content Provider ها و همینطور receivers ها باید در AndroidManifest تعریف شوند. (تمامی آموزش های آنها در سایت موجود است کافی است سرچ کنید !)
- اطلاعات مربوط به مسیر ها و aapt در آن قرار گرفته است.
- launcher activity (تعیین و تعیین اکتیویتی اجرایی)
- تعیین ورژن اپ
زمانی که شما یک پروژه در اندروید استودیو یا اکلیپس می سازید AndroidManifest آن همانند زیر خواهد بود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ir.programchi" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> |
یک AndroidManifest ساده همانند بالا خواهد بود یعنی باید یک package name داشته باشد که از قبل تعیین شده است (در هنگام ساخت اکتیویتی تنظیم می شود).
uses-sdk : تعیین می کند برنامه می تواند روی چه گوشی هایی نصب شده و از چه ویژگی هایی برنامه نویس می تواند استفاده کند (هر چه minSdkVersion ورژن بالاتر باشد اندروید گوشی که می خواهد از آن اپ استفاده کند نیز باید بالا تر باشد و امکانات بیشتری نیز به برنامه نویسی میدهد.)
targetSdkVersion : بخشی از Sdk شماست که آن را نصب کردید مثلا در بالا از Sdk 15 استفاده شده الان آخرین ورژن sdk برابر با 27 است.
application : این تگ اطلاعات جامعی را برای گوشی فراهم می کند هر اپ زمانی که نصب می شود باید شامل 4 چیز باشد که عبارتند از :
- android:icon : آیکون نمایشی در اپلیکیشن را تعیین می کند.
- android:label : نام نمایشی اپلیکیشن در منو را تعیین می کند.
- android:theme : به گونه style کلی اپ را تعیین می کند (مثلا کل اپلیکیشن TextView هاش سفید باشد یا هرچیز دیگر)
- activity : باید حداقل یک اکتیویتی برای برنامه تعریف شده باشد تا برنامه بتواند اجرا شود.
خود تگ activity شامل چندین بخش می شود
- android:name : باید نام فایل جاوا اکتیویتی در اینجا قرار گیرد.
- android:label : یک لیبل برای نمایش نام صفحه یا اکتیویتی فعلی در بخش actionbar است.
- intent-filter : این بخش را مفصل در توضیح داده ایم از لینک زیر استفاده کنید.
intent-filter چیست ؟
در AndroidManifest می توان دسترسی به برنامه داد یا اینکه سرویس یا یک اکتیویتی تعریف کرد.
این آموزش هم به پایان رسید.
موفق باشید.
سلام من در یونتی زمان خروجی گرفتن انروید به ارور failedtore_packageresources seethe console fordetailsبرخورد کردم میخواستم ببینم این ربطی بهandroidmanifest داره ممنون میشم پاسخ بدین