کد DEX جاسازی شده را مستقیماً از APK اجرا کنید

در دستگاه‌های دارای Android 10 (سطح API 29) و بالاتر، می‌توانید به پلتفرم بگویید که کد DEX تعبیه‌شده را مستقیماً از فایل APK برنامه شما اجرا کند. این گزینه می تواند به جلوگیری از حمله کمک کند اگر مهاجمی بتواند کدهای کامپایل شده محلی روی دستگاه را دستکاری کند.

اگر از سیستم ساخت Gradle استفاده می کنید، برای فعال کردن این ویژگی موارد زیر را انجام دهید:

  • ویژگی android::useEmbeddedDex را در عنصر <application> فایل مانیفست برنامه خود روی true تنظیم کنید.

  • useLegacyPackaging در فایل build.gradle.kts در سطح ماژول روی false قرار دهید (اگر از Groovy استفاده می کنید فایل build.gradle ).

    کاتلین

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    شیار

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

اگر از سیستم ساخت Bazel استفاده می‌کنید، برای فعال کردن این ویژگی، ویژگی android:useEmbeddedDex را در عنصر <application> فایل مانیفست برنامه خود روی true تنظیم کنید و فایل‌های DEX را فشرده‌نشده رها کنید:

android_binary(
   ...
   nocompress_extensions = [".dex"],
)
{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}