گذشته دور: در اون زمان از ant برای کامپایل استفاده می‌شد ولی الان دیگه به تاریخ پیوسته.

در گذشته:

  • AAPT ریسورس ها رو کامپایل می‌کرده و فایل R.java رو درست می‌کرده.
  • JAVAC فایل های جاوا رو کامپایل می‌کرده و java bytecode رو درست می‌کرده
  • DX فایل های java bytecode رو پردازش می‌کرده و classes.dex رو درست می‌کرده
  • AAPT فایل apk رو درست می‌کرده و فایل dex رو بهش اضافه می‌کرده
  • ZipAlign هم فایل apk رو پردازش و آدرس ها رو اصلاح می‌کرده و فایل نهایی رو تولید می‌کرده
  • ApkSigner فایل apk رو با keystore امضا می‌کرده
  • ADB هم فایل رو روی دستگاه نصب و اجرا می‌کرده

الان:

  • AAPT2 با دستور compile ریسورس ها رو کامپایل می‌کنه به باینری با فرمت flat
  • AAPT2 با دستور link فایل های کامپایل شده رو جمع می‌کنه تو ی فایل apk
  • ZipAlign هم فایل apk رو پردازش و آدرس ها رو اصلاح می‌کرده و فایل نهایی رو تولید می‌کرده
  • ApkSigner فایل apk رو با keystore امضا می‌کرده

الان با gradle:

  • با gradlew همه کار انجام میشه
  • برای امضای apk لازم هستش ک signingConfigs رو مقداردهی کرده باشیم

الان دیگه فایل R رو شما نمیتونید توی پروژه پیدا کنید. و اون توی فایل apk پروژه هستش.

+ +