رفع خطاهای "برنامه نصب نشده": راهنمای کامل عیب یابی
یک بازی یا ابزار جدید دانلود کردید، روی install ضربه زدید، چند ثانیه صبر کردید و Android با "برنامه نصب نشده است" لاکونیک بازگشت. بدون کد خطا، بدون گزارش، بدون اشاره. این رایجترین خرابی نصب عمومی روی پلتفرم است و بسته به خطای واقعی میتواند به معنای ده چیز بسیار متفاوت باشد.
آنچه در ادامه میآید، هر دلیل معمولی است، که تقریباً بر اساس تعداد دفعات برخورد با آن مرتب شده است، هر کدام با یک اصلاح یک خطی و توضیح کوتاهی درباره چرا که اصلاح میشود. در پایان نشان میدهیم که چگونه میتوان خطای واقعی را برای مواقعی که پیام روی صفحه کافی نیست از logcat خارج کرد.
علت رایج شماره 1: فضای ذخیره سازی کم
حتی اگر یک APK فقط 50 مگابایت باشد، Android برای فشردهکردن فایلها، تأیید اطلاعات کتابخانه و انتقال آن به پارتیشن سیستم، به 3-4 برابر این فضا نیاز دارد. اگر کمتر از 1 گیگابایت رایگان دارید، نصب شما در معرض خطر شکست قرار دارد.
رفع: پوشه "Downloads" خود را پاک کنید یا یک بازی بزرگ را که دیگر بازی نمی کنید حذف کنید، سپس دوباره امتحان کنید.
علت مشترک شماره 2: عدم تطابق امضا
همانطور که در امضای غواصی عمیق ما توضیح داده شد، Android برای امنیت از امضای رمزنگاری استفاده می کند. اگر برنامه رسمی فیس بوک را نصب کرده باشید و سعی کنید آن را با نسخه ای از یک سایت تصادفی APK "به روز کنید"، امضاها مطابقت ندارند و Android برای محافظت از داده های شما، نصب را مسدود می کند.
رفع: ابتدا برنامه موجود را حذف نصب کنید (هشدار: داده های شما را حذف می کند). سپس APK جدید را نصب کنید.
Protect Blocks را بازی کنید
Google Play Protect گاهی اوقات «برنامههای ناشناس» را مسدود میکند، حتی اگر ایمن باشند. برای نصب، Play Protect را در Play Store > Menu > Play Protect > Settings به طور موقت غیرفعال کنید.
علت رایج شماره 3: دانلودهای خراب یا ناقص
اگر اتصال اینترنت شما برای چند ثانیه قطع شود، ممکن است بارگیری APK به پایان برسد اما چند بایت کد از بین رفته باشد. راستیآزمایی ZIP Android این را شناسایی کرده و لغو میکند.
رفع: فایل را حذف کرده و با استفاده از یک اتصال Wi-Fi پایدار دوباره دانلود کنید. هش SHA-256 فایل را با استفاده از تأیید کننده APK ما تأیید کنید.
علت رایج شماره 4: نسخه SDK ناسازگار
توسعه دهندگان یک minSdkVersion تنظیم می کنند. اگر میخواهید برنامهای را که برای Android 14 ساخته شده است روی گوشی دارای Android 10 نصب کنید، به سادگی کار نمیکند.
رفع: الزامات برنامه را با استفاده از ابزار اطلاعات APK بررسی کنید. اگر نسخه Android شما خیلی کم است، باید یک نسخه قدیمی برنامه پیدا کنید.
دلیل رایج شماره 5: مشکلات معماری CPU (ABI)
Android از پردازنده های مختلفی (ARMv7، ARM64، x86) استفاده می کند. اگر یک برنامه "ARM64" را برای یک تلفن قدیمی "ARMv7" (32 بیتی) دانلود کنید، خطای "App Not Installed" را نشان می دهد.
رفع: از ابزار اطلاعات APK ما استفاده کنید تا ببینید APK از کدام ABI پشتیبانی می کند. اگر CPU گوشی شما در لیست نیست، یک ساخت "Universal" یا نسخه خاص درست را دانلود کنید.
| شرح مشکل | دلیل احتمالی | رفع سریع |
|---|---|---|
| خرابی فوری پس از کلیک بر روی install | تضاد امضا | نسخه قدیمی برنامه را حذف نصب کنید |
| در حال نصب ... اما در 90٪ شکست می خورد | ذخیره سازی ناکافی | فضای 500 مگابایتی را پاک کنید |
| "برنامه با دستگاه شما سازگار نیست" | مشکل SDK یا ABI | نسخه قدیمی/ صحیح را پیدا کنید |
| "نصب کننده بسته همچنان متوقف می شود" | خطای کش نصب کننده | پاک کردن کش برای «نصب بسته» |
دلیل رایج شماره 6: "نصب توسط Play Protect مسدود شد"
Google Play Protect هر APK را برای امضای بدافزار شناخته شده قبل از نصب اسکن می کند. حتی برنامههایی از منابع معتبر نیز گهگاه به آن دسترسی پیدا میکنند: ابزارهای روت، برنامههای بانکی خاص منطقه، ابزارهای اصلاح شده سیستم یا برنامههایی که Play Protect قبلاً ندیده است. گفتگو معمولاً "این برنامه ناامن است" را میگوید و یک دکمه «نصب به هر حال» را ارائه میدهد که میتواند به ضربه و نگهداشتن یا رفتن به تنظیمات نیاز داشته باشد.
رفع: اگر به منبع اعتماد دارید، از پیوند کوچک "Install anyway" در گفتگوی بلوک استفاده کنید. اگر کادر گفتگو وجود ندارد، فروشگاه Play را باز کنید، روی نماد نمایه خود ضربه بزنید ← Play Protect → Settings، و برنامه ها را با Play Protect اسکن کنید را به اندازه کافی خاموش کنید تا نصب شود، سپس دوباره آن را روشن کنید. همیشه بعد از آن Play Protect را دوباره فعال کنید. از کار افتادن تک شات الگوی ایمن تر است.
علت رایج شماره 7: بوت تایید شده / بارگذاری جانبی غیرفعال شده است
برخی از انواع Android روی لپتاپ و برخی از دستگاههای قفلشده توسط شرکت مخابراتی با بارگذاری جانبی به طور پیشفرض غیرفعال میشوند. این خطا اغلب شبیه "برنامه نصب نشده است" است، اما هیچ گفتگوی مجوز ظاهر نمی شود.
رفع: تنظیمات ← برنامه ها ← دسترسی ویژه برنامه ← نصب برنامه های ناشناخته را باز کنید، برنامهای را که برای دانلود APK استفاده کردهاید (Chrome، فایل منیجر، تلگرام و غیره) پیدا کنید و «Allow from this source» را روی آن تغییر دهید. کلید برای هر منبع است، نه جهانی. اگر به یک مدیر فایل دیگر تغییر دهید، باید آن را نیز فعال کنید.
علت رایج شماره 8: تضاد نمایه هر کاربر یا نمایه کاری
اگر دستگاه شما نمایه کاری یا کاربر ثانویه دارد، برنامه نصب شده در یک نمایه میتواند نصب یک نسخه با امضای متفاوت را در نمایه دیگر مسدود کند. علائم: نصب روی نمایه شخصی کار میکند اما در نمایه کاری بیصدا انجام نمیشود یا برعکس.
رفع: تأیید کنید که در کدام نمایه نصب می کنید. در اکثر لانچرها، نمایه کاری یک نشان کیف کوچک را نشان می دهد. یا نسخه متناقض را از نمایه دیگر حذف نصب کنید یا به استفاده از کپی موجود بسنده کنید.
علت رایج شماره 9: دستگاه فقط 64 بیتی، APK فقط 32 بیتی
دستگاههای Androidی میانرده و پرچمدار مدرن اصلاً بدون ABI 32 بیتی عرضه میشوند. هسته بدون آن ساخته شده است. یک APK فقط 32 بیتی به سادگی هیچ کتابخانه بومی ندارد که دستگاه بتواند آن را بارگیری کند و با یک خطای عمومی "نصب نشده" شکست می خورد. عکس آن (یک APK فقط 64 بیتی در تلفن های 32 بیتی) در سال 2026 بسیار نادرتر است، زیرا آخرین تلفن های Androidی فقط 32 بیتی سال ها پیش عرضه شدند.
رفع: مانیفست APK و دایرکتوری lib/ را در ابزار اطلاعات APK ما بخوانید و خواهید دید که بسته حاوی کدام ABI است. اگر لیست ABI دستگاه (قابل مشاهده در تنظیمات → درباره تلفن → جزئیات ساخت) با ABI های بسته همپوشانی ندارد، یک ساخت متفاوت پیدا کنید.
علت رایج شماره 10: عدم تطابق مکان نصب آشکار
برنامهای که مانیفست آن android:installLocation="internalOnly" را تنظیم میکند، نمیتواند به کارت SD منتقل شود. اگر فضای ذخیره سازی داخلی شما کم است و سیستم عامل سعی می کند به هر حال در حافظه خارجی نصب شود (به عنوان مثال، در برخی از دستگاه های قدیمی Android One)، نصب بی صدا انجام نمی شود.
رفع: حافظه داخلی را آزاد کنید. بدون توجه به اینکه کارت SD چقدر خالی باشد، گزینه "انتقال به SD" برای یک برنامه فقط داخلی بی ربط است.
خواندن خطای واقعی از logcat
اگر هیچ یک از بررسی های سطح سطح کمکی نکرد، خطای اساسی تقریباً همیشه در logcat قابل مشاهده است. با تنظیم ADB روی رایانه:
adb logcat -c # clear old logs
adb install path/to/example.apk # try the install (or trigger from the device)
adb logcat -d | grep -i "PackageInstaller\|PackageManager"
خروجی معمولاً شامل خطی مانند:
INSTALL_FAILED_INSUFFICIENT_STORAGE
INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.example signatures do not match newer version
INSTALL_FAILED_INVALID_APK: AndroidManifest.xml is malformed
INSTALL_FAILED_OLDER_SDK: Requires newer SDK version
هر یک از این نقشهها مستقیماً به یک اصلاح میپردازند:
- INSUFFICIENT_STORAGE: فضای خالی و دوباره امتحان کنید.
- UPDATE_INCOMPATIBLE: عدم تطابق کلید امضا با نصب موجود. ابتدا برنامه موجود را حذف نصب کنید.
- INVALID_APK: فایل خراب است. راهنمای APK خراب ما را ببینید.
- OLDER_SDK: برنامه به نسخه Android جدیدتری نسبت به این دستگاه نیاز دارد.
- NO_MATCHING_ABIS: عدم تطابق معماری CPU.
- VERIFICATION_FAILURE: Play Protect آن را مسدود کرد. علت مشترک شماره 6 را ببینید.
اگر ADB در دسترس ندارید، یک جایگزین روی دستگاه، جریان تنظیمات ← درباره تلفن ← 7 بار روی شماره ساخت ← گزینه های برنامه نویس → گزارش اشکال ضربه بزنید است که همان گزارشها را در یک فایل فشرده ثبت میکند.
سوالات متداول
چرا Android گاهی اوقات هیچ پیام خطایی نشان نمی دهد؟
فعالیت سیستم PackageInstaller دارای یک بازه زمانی دقیق است. اگر نصب قبل از پایان ترسیم گفتگوی رو به روی کاربر انجام نشود، گفتگو بدون هیچ پیامی به سادگی حذف می شود. logcat هنوز دلیل اصلی را دارد.
آیا یک APK خراب می تواند به گوشی من آسیب برساند؟
خیر. نصب کننده بسته سیستم عامل جعبه ایمنی است. یک APK نادرست فقط می تواند نصب نشود. خطر واقعی یک APK بد، کد داخل است که با موفقیت نصب شده است، نه خود شکست نصب.
من به طور خاص "خطای تجزیه" را دریافت می کنم، نه "برنامه نصب نشده است". چه فرقی دارد؟
"خطای تجزیه" یک شکست سخت تر است: سیستم عامل حتی نمی تواند ساختار فایل را بخواند. معمولاً فساد است (بارگیری کوتاه شده، آسیب در سطح ZIP). مراحل بازیابی APK خراب ما را دوباره دانلود یا اجرا کنید. "برنامه نصب نشده است" معمولاً به این معنی است که فایل به خوبی تجزیه شده است اما بعداً بررسی نشد.
آیا می توانم یک APK را روی همان برنامه نصب شده از فروشگاه Play نصب کنم؟
فقط در صورتی که APK دقیقاً با همان کلید آپلود امضا شده باشد (و از همان طرح امضای v2/v3 استفاده کند). برای اکثر برنامههای منتشر شده به این معنی است: نه، مگر اینکه ناشر همان APK را به هر دو صورت توزیع کند. بارگذاری جانبی "همان برنامه" از جای دیگر، INSTALL_FAILED_UPDATE_INCOMPATIBLE را فعال می کند.
دریابید که چرا شکست می خورد
اکنون APK خود را آپلود کنید تا متادیتاهای پنهان و هشدارهای سازگاری را که باعث خطاهای نصب میشوند، ببینید.
سازگاری APK را بررسی کنیدجریان تشخیصی سریع برای خرابیهای نصب APK سرسخت
پاک کردن خطای "برنامه نصب نشده است" بیشتر یک فرآیند حذف است. با تعمیرات ارزان شروع کنید، فضا را آزاد کنید و هر نسخه قدیمی از برنامه را حذف کنید، سپس به بررسی معماری و امضا بپردازید. ابزارهای موجود در XAPK به APK میتوانند برخی از حدسها را از موارد سختتر حذف کنند.