برای هدف قرار دادن یک پوشه در یک بسته دارایی یا ماژول بسته نرم افزاری با ابعاد مختلف (قالب فشرده سازی بافت ، ردیف دستگاه ، مجموعه کشور) ، می توانید از هدف قرار دادن توخالی استفاده کنید.
هدف گذاری تودرتو اجازه می دهد تا معیارهای هدف گیری را تعریف کنید که حداکثر 2 بعد هدف را ترکیب می کند.
قالب
برای هدف قرار دادن یک پوشه با ابعاد چندگانه، لیستی از ابعاد را در یک سری پسوند هشتگ به نام پوشه مشخص کنید.
به عنوان مثال، برای هدف قرار دادن یک پوشه دارایی با فرمت فشرده سازی بافت ASTC و ردیف 2 دستگاه، هدف گذاری به صورت زیر است:
...
.../level1/src/main/assets/character-textures#tcf_astc#tier_2/
...
اگر از Gradle برای ساخت برنامه خود استفاده می کنید ، پسوندها هدف قرار می دهند از نام دایرکتوری در APKS یا بسته های دارایی نهایی که به دستگاه های کاربر تحویل داده می شوند ، از نام فهرست جدا می شوند.
اگر مستقیماً از Bundletool استفاده می کنید ، مشخص کنید که آیا می خواهید پسوند برای هر یک از ابعاد به صورت جداگانه در BundleConfig.json
سلب شده باشد. با مثالی برای هدف گذاری ردیف دستگاه:
{
...
"optimizations": {
"splitsConfig": {
"splitDimension": [
...
{
"value": "DEVICE_TIER",
"negate": false,
"suffixStripping": {
"enabled": true,
}],
}
}
}
هدف قرار دادن تو در تو در Bundletool 1.14.1 یا بالاتر پشتیبانی می شود و افزونه Gradle Android 8.2.0-alpha01 یا بالاتر ، که به Gradle 8.1 یا بالاتر نیاز دارد.
می توانید اطلاعات بیشتری در مورد نحوه سفارشی سازی پیکربندی خود برای ابعاد فردی در مستندات برای هر بعد هدفمند پیدا کنید.
محدودیت ها
حداکثر می توانید از 2 بعد تو در تو استفاده کنید. به عبارت دیگر ، شما نمی توانید پوشه ای داشته باشید که توسط ردیف دستگاه ، قالب فشرده سازی بافت و همزمان کشور تنظیم شده باشد: شما باید 2 را انتخاب کنید.
شما باید 2 بعد تو در تو را در همان سطح مسیر پوشه مشخص کنید. به عنوان مثال، هدف گذاری پوشه زیر ممنوع است، زیرا #tcf_astc و #tier_2 در بخش های مسیر مختلف ظاهر می شوند:
.../level1/src/main/assets/character-textures#tcf_astc/level1#tier_2/
ابعاد تو در تو باید در کل بسته شما یکسان باشد. به عنوان مثال ، شما نمی توانید یک بسته دارایی داشته باشید که در آن لایه های دستگاه و مجموعه کشور را لانه می کنید ، و یک بسته دارایی دیگر که در آن با فرمت فشرده سازی و بافت های کشور لانه می کنید.
مقادیری که برای 2 بعد استفاده می کنید باید در کل بسته یکسان باشند و باید ترکیب کامل مقادیر را مشخص کنید. به عنوان مثال ، اگر می خواهید قالب فشرده سازی بافت و مجموعه کشور را لانه کنید ، و 4 TCF (ASTC ، ETC2 ، PVRTC ، پیش فرض برگشتی) و 3 مجموعه کشور (Latam ، Sea ، Default Fallback) دارید ، باید یک پوشه را برای همه مشخص کنید 12 ترکیب:
level1/textures#countries_latam#tcf_astc/…
level1/textures#countries_latam#tcf_etc2/…
level1/textures#countries_latam#tcf_pvrtc/…
level1/textures#countries_latam/…
level1/textures#countries_sea#tcf_astc/…
level1/textures#countries_sea#tcf_etc2/…
level1/textures#countries_sea#tcf_pvrtc/…
level1/textures#countries_sea/…
level1/textures#tcf_astc/…
level1/textures#tcf_etc2/…
level1/textures#tcf_pvrtc/…
level1/textures/…
- شما مجاز به استفاده از هدف گذاری تو در تو و هدف گذاری تک بعدی در پوشه های محتوای مجزا در بسته دارایی یا ماژول بسته هستید. اگر از یک بعد هم در هدفیابی تک بعدی و هم در هدفیابی تودرتو استفاده میکنید، مجموعه مقادیری که استفاده میکنید باید همیشه یکسان باشند. به عنوان مثال ، شما نمی توانید 4 لایه را در هدف قرار دادن دستگاه تک بعدی هدف قرار دهید ، و سپس در هنگام تو در تو با مجموعه های کشور یا TCF فقط از 3 ردیف استفاده کنید.