āĻāĻ•āĻŸāĻŋ āĻĄāĻ•āĻžāĻ° āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž

āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ›ā§‹āĻŸ āĻāĻ•āĻŸāĻŋ, āĻļā§€āĻ˜ā§āĻ° āĻŦāĻž āĻĒāĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‹āĻ•āĻžāĻŦāĻŋāĻ˛āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ āĻāĻ¸āĻĄāĻŋāĻ•ā§‡ āĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ•ā§‹āĻŸāĻ˛āĻŋāĻ¨, āĻ—ā§āĻ°ā§‡āĻĄāĻ˛, āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ-āĻŸā§āĻ˛, āĻŦāĻŋāĻ˛ā§āĻĄ-āĻŸā§āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĨāĻžāĻ•āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ° āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ āĻ¸ā§āĻŸā§āĻĄāĻŋāĻ“ āĻ†āĻ‡āĻĄāĻŋāĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ¸āĻŋāĻ†āĻ‡ / āĻ¸āĻŋāĻĄāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻŽāĻžāĻĨāĻžāĻŦā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡, āĻĄāĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨āĻ• āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•ā§‡āĻ¨ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž ...

āĻ¯āĻžāĻ°āĻž āĻĄāĻ•āĻžāĻ° āĻ•ā§€ āĻ¤āĻž āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¨āĻž - āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻŦā§‡āĻļ āĻ¸āĻšāĻœ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĨ¤ "āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°" āĻ¯āĻžāĻ¤ā§‡ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ OS āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻ¸ā§‡āĻŸ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°ā§‡āĻ–ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ–ā§āĻļāĻŋ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ§āĻžāĻ°āĻ•āĻŸāĻŋāĻ¤ā§‡ āĻ āĻŋāĻ• āĻ•ā§€ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¤āĻž āĻĄāĻ•āĻžāĻ°āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻšāĻŋāĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻ¤ā§āĻ¤āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻĄāĻ•āĻžāĻ°ā§‡āĻ° āĻŽā§‚āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¸ā§āĻ¨ā§āĻĻāĻ°āĻ­āĻžāĻŦā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸ. āĻ…āĻ¤āĻāĻŦ, āĻāĻ•āĻŸā§ āĻ¸āĻžāĻŽāĻ¨ā§‡ āĻ¤āĻžāĻ•āĻŋāĻ¯āĻŧā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĄāĻ•āĻžāĻ°āĻĢāĻžāĻ‡āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡

# Đĸ.Đē. ĐžŅĐŊОвĐŊŅ‹Đŧ иĐŊŅŅ‚Ņ€ŅƒĐŧĐĩĐŊŅ‚ĐžĐŧ Đ´ĐģŅ ŅĐąĐžŅ€Đēи Android-ĐŋŅ€ĐžĐĩĐēŅ‚Ов ŅĐ˛ĐģŅĐĩŅ‚ŅŅ Gradle, 
# и ĐŋĐž ŅŅ‡Đ°ŅŅ‚ĐģивОĐŧŅƒ ŅŅ‚ĐĩŅ‡ĐĩĐŊиŅŽ ОйŅŅ‚ĐžŅŅ‚ĐĩĐģŅŒŅŅ‚в ĐĩŅŅ‚ŅŒ ĐžŅ„иŅ†Đ¸Đ°ĐģŅŒĐŊŅ‹Đš Docker-ОйŅ€Đ°Đˇ 
# ĐŧŅ‹ Ņ€ĐĩŅˆĐ¸Đģи Са ĐžŅĐŊОвŅƒ вСŅŅ‚ŅŒ иĐŧĐĩĐŊĐŊĐž ĐĩĐŗĐž Ņ ĐŊŅƒĐļĐŊОК ĐŊĐ°Đŧ вĐĩŅ€ŅĐ¸ĐĩĐš Gradle
FROM gradle:5.4.1-jdk8

# ЗадаĐĩĐŧ ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊŅ‹Đĩ Ņ ĐģĐžĐēĐ°ĐģŅŒĐŊОК ĐŋĐ°ĐŋĐēОК Đ´ĐģŅ Android SDK и 
# вĐĩŅ€ŅĐ¸ŅĐŧи ĐŋĐģĐ°Ņ‚Ņ„ĐžŅ€ĐŧŅ‹ и иĐŊŅŅ‚Ņ€ŅƒĐŧĐĩĐŊŅ‚Đ°Ņ€Đ¸Ņ
ENV SDK_URL="https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip" 
    ANDROID_HOME="/usr/local/android-sdk" 
    ANDROID_VERSION=28 
    ANDROID_BUILD_TOOLS_VERSION=28.0.3

# ХОСдаĐĩĐŧ ĐŋĐ°ĐŋĐēŅƒ, ŅĐēĐ°Ņ‡Đ¸Đ˛Đ°ĐĩĐŧ Ņ‚ŅƒĐ´Đ° SDK и Ņ€Đ°ŅĐŋĐ°ĐēОвŅ‹Đ˛Đ°ĐĩĐŧ Đ°Ņ€Ņ…ив,
# ĐēĐžŅ‚ĐžŅ€Ņ‹Đš ĐŋĐžŅĐģĐĩ ŅĐąĐžŅ€Đēи ŅƒĐ´Đ°ĐģŅĐĩĐŧ
RUN mkdir "$ANDROID_HOME" .android 
    && cd "$ANDROID_HOME" 
    && curl -o sdk.zip $SDK_URL 
    && unzip sdk.zip 
    && rm sdk.zip 
# В ŅĐģĐĩĐ´ŅƒŅŽŅ‰Đ¸Ņ… ŅŅ‚Ņ€ĐžŅ‡ĐēĐ°Ņ… ĐŧŅ‹ ŅĐžĐˇĐ´Đ°ĐĩĐŧ ĐŋĐ°ĐŋĐēŅƒ и Ņ‚ĐĩĐēŅŅ‚ОвŅ‹Đĩ Ņ„Đ°ĐšĐģŅ‹ 
# Ņ ĐģиŅ†ĐĩĐŊСиŅĐŧи. На ĐžŅ„. ŅĐ°ĐšŅ‚Đĩ Android ĐŊĐ°ĐŋиŅĐ°ĐŊĐž Ņ‡Ņ‚Đž ĐŧŅ‹ 
# ĐŧĐžĐļĐĩĐŧ ĐēĐžĐŋиŅ€ĐžĐ˛Đ°Ņ‚ŅŒ ŅŅ‚и Ņ„Đ°ĐšĐģŅ‹ Ņ ĐŧĐ°ŅˆĐ¸ĐŊ ĐŗĐ´Đĩ вŅ€ŅƒŅ‡ĐŊŅƒŅŽ ŅŅ‚и 
# ĐģиŅ†ĐĩĐŊСии ĐŋОдŅ‚вĐĩŅ€Đ´Đ¸Đģи и Ņ‡Ņ‚Đž авŅ‚ĐžĐŧĐ°Ņ‚иŅ‡ĐĩŅĐēи 
# иŅ… ŅĐŗĐĩĐŊĐĩŅ€Đ¸Ņ€ĐžĐ˛Đ°Ņ‚ŅŒ ĐŊĐĩĐģŅŒĐˇŅ
    && mkdir "$ANDROID_HOME/licenses" || true 
    && echo "24333f8a63b6825ea9c5514f83c2829b004d1" > "$ANDROID_HOME/licenses/android-sdk-license" 
    && echo "84831b9409646a918e30573bab4c9c91346d8" > "$ANDROID_HOME/licenses/android-sdk-preview-license"    

# ЗаĐŋŅƒŅĐēĐ°ĐĩĐŧ ОйĐŊОвĐģĐĩĐŊиĐĩ SDK и ŅƒŅŅ‚Đ°ĐŊОвĐēŅƒ build-tools, platform-tools
RUN $ANDROID_HOME/tools/bin/sdkmanager --update
RUN $ANDROID_HOME/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" 
    "platforms;android-${ANDROID_VERSION}" 
    "platform-tools"

āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻŋ

docker build -t android-build:5.4-28-27 .

āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻŽāĻžāĻĒ -t āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ§āĻžāĻ°āĻ•āĻŸāĻŋāĻ° āĻŸā§āĻ¯āĻžāĻ— āĻŦāĻž āĻ¨āĻžāĻŽ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ-āĻŦāĻŋāĻ˛ā§āĻĄ āĻŦāĻ˛ā§‡ āĻĨāĻžāĻ•āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ†āĻŽāĻ°āĻž āĻ—ā§āĻ°ā§‡āĻĄāĻ˛, āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ-āĻāĻ¸āĻĄāĻŋāĻ•ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ-āĻŸā§āĻ˛ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡, āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ "āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻšāĻŋāĻ¤ā§āĻ°āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ•ā§āĻˇā§‡ āĻ¸āĻšāĻœ āĻšāĻŦā§‡ā§ˇ

āĻŦāĻŋāĻ˛ā§āĻĄāĻŸāĻŋ āĻĒāĻžāĻ¸ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ›āĻŦāĻŋāĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻ†āĻŽāĻ°āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻĄāĻ•āĻžāĻ° āĻ§āĻžāĻ•ā§āĻ•āĻž āĻ…āĻ¨ā§āĻ¯ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻŦāĻž āĻĒā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻŸ āĻ‡āĻŽā§‡āĻœ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡, āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨

docker run --rm -v "$PWD":/home/gradle/ -w /home/gradle android-build:5.4.1-28-27 gradle assembleDebug

āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ•āĻŋ āĻ¤āĻž āĻŦā§‡āĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

āĻĄāĻ•āĻžāĻ° āĻ°āĻžāĻ¨ - āĻ‡āĻŽā§‡āĻœ āĻ˛āĻžā§āĻš āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¨āĻŋāĻœā§‡āĻ‡
-āĻ†āĻ°āĻāĻŽ - āĻŽāĻžāĻ¨ā§‡ āĻ§āĻžāĻ°āĻ• āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻāĻŸāĻŋ āĻ¤āĻžāĻ° āĻœā§€āĻŦāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛ā§‡
-v "$PWD":/home/gradle/ - āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡āĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° /home/gradle/ āĻ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°ā§‡
-w/home/gradle - āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻœā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡
android-build:5.4.1-28-27 - āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ§āĻžāĻ°āĻ•āĻŸāĻŋāĻ° āĻ¨āĻžāĻŽ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡āĻ›āĻŋ
gradle assembleDebug - āĻŦāĻŋāĻ˛ā§āĻĄ āĻŸāĻŋāĻŽ āĻ¨āĻŋāĻœā§‡āĻ‡, āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡

āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ āĻŋāĻ•āĻ āĻžāĻ• āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ• āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ/āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻĒāĻ° āĻāĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ 8m 3 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻ¸āĻĢāĻ˛ āĻšāĻ¨! āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻĒ/āĻŦāĻŋāĻ˛ā§āĻĄ/āĻ†āĻ‰āĻŸāĻĒā§āĻŸ/āĻāĻĒāĻŋāĻ•ā§‡ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¸ā§‡āĻŽā§āĻŦāĻ˛ āĻ•āĻ°āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤

āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ—ā§āĻ°ā§‡āĻĄāĻ˛ āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ - āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻ¯ā§‡ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨āĻ“ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨ā§‡āĻ‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ‡āĻŽā§‡āĻœ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ¤ā§‡ āĻŦāĻŋāĻ˛ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻšāĻŦā§‡āĨ¤

āĻ§āĻžāĻ°āĻ•āĻŸāĻŋ āĻ•ā§‹āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻĨā§‡āĻ•ā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻ•āĻĻāĻŋāĻ•ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšā§‹āĻ• āĻ¨āĻž āĻ•ā§‡āĻ¨ āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻĒāĻ°āĻŋāĻšāĻ¯āĻŧ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡, āĻ…āĻ¨ā§āĻ¯āĻĻāĻŋāĻ•ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ†āĻŦāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§‹āĻĄ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°ā§āĻ¨, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻāĻ•āĻŸāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• "āĻ āĻžāĻ¨ā§āĻĄāĻž" āĻļā§āĻ°ā§ āĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ "āĻ•ā§āĻ¯āĻžāĻļā§‡", āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž ~/.gradle āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ°ā§‹āĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻ•āĻĒāĻŋ āĻ•āĻ°ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ˛ā§āĻĄā§‡āĻ° āĻļā§āĻ°ā§āĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻāĻŋāĻ‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§ƒāĻĨāĻ• āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ˛āĻžā§āĻš āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻāĻ° āĻŽāĻ¤ā§‹ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›ā§‡

docker run --rm -v "$PWD":/home/gradle/ -w /home/gradle android-build:5.4.1-28-27 /bin/bash -c "./pre.sh; gradle assembleDebug; ./post.sh"

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ—āĻĄāĻŧ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻ¯āĻŧā§‡āĻ•āĻ—ā§āĻŖ āĻšā§āĻ°āĻžāĻ¸ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ (āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻļā§€āĻ˛āĻ¤āĻžāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ—āĻĄāĻŧ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻāĻ‡āĻ­āĻžāĻŦā§‡ 1 āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ 5 āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡)āĨ¤

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœā§‡āĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ¸āĻŋāĻ†āĻ‡/āĻ¸āĻŋāĻĄāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĨāĻžāĻ•āĻ˛ā§‡āĻ‡ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻŋāĻ›ā§āĻ‡ āĻŦā§‹āĻāĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĻ¨āĨ¤ āĻ¤āĻŦā§‡ āĻāĻ–āĻ¨ āĻāĻŽāĻ¨ āĻ…āĻ¨ā§‡āĻ• āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ“ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻœāĻ°āĻŋāĻĒā§‡ āĻ…āĻ‚āĻļāĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ¸āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ āĻ•āĻ°ā§āĻ¨āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ†āĻ‡/āĻ¸āĻŋāĻĄāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ°āĻžāĻ–ā§‡āĻ¨ āĻ¨āĻžāĻ•āĻŋ āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ•ā§āĻˇā§‡āĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨

  • āĻāĻ•āĻŸāĻŋ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡

  • āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡

  • āĻ†āĻŽāĻ°āĻž CI/CD āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ¨āĻž

  • āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯

42 āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ­ā§‹āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤ 16 āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻŋāĻ°āĻ¤ āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨