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

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

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

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

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

    کاتلین

      packagingOptions {
        dex {
          useLegacyPackaging = false
        }
      }
      

    گرووی

      packagingOptions {
        dex {
          useLegacyPackaging false
        }
      }
      

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

android_binary(
   ...
   nocompress_extensions = [".dex"],
)
{% کلمه به کلمه %} {% فعل کمکی %} {% کلمه به کلمه %} {% فعل کمکی %}