android - studio - احصل على APK للتطبيق المثبت




start android studio (8)

  1. تحقق من قائمة ملفات apk التي تم تركيبها (يقوم الأمر التالي أيضًا بسرد المسار الذي تم تركيبه فيه واسم الحزمة). adb shell pm list packages -f
  2. استخدم adb pull / package_path / package name / path_in_pc (مسار الحزمة واسم الحزمة يمكن للمرء الحصول عليه من فوق الأمر 1.)

أبحث عن طريقة لاستخراج ملف APK لتطبيق Android المثبت بدون إذن الجذر.

اعتقدت أن هذا كان مستحيلاً ، لأن جميع ملفات APK للتطبيقات غير النظامية موجودة في / data / app ، ويتطلب الوصول إلى هذا المجلد إذن الجذر. ثم وجدت أن هناك العديد من التطبيقات في Google Play والتي يبدو أنها تتمتع بإمكانية الوصول إلى ملفات APK حتى على الأجهزة غير الجذر.

هل يمكن لأحد أن يقول لي كيف يمكن ذلك؟ ليست هناك تطبيقات النسخ الاحتياطي التي النسخ الاحتياطي لملفات APK دون الجذر؟


أو يمكنك الحصول على "Bluetooth File Transfer" من Google Play وتعيين المجلد الرئيسي على /system/ . ثم يمكنك حتى الذهاب إلى / .


الوصول / البيانات / التطبيق ممكن دون إذن الجذر ؛ الأذونات على هذا الدليل هي rwxrwx - x. يعني تنفيذ الإذن في دليل أنه يمكنك الوصول إليه ، إلا أن عدم توفر إذن القراءة يعني أنه لا يمكنك الحصول على قائمة بمحتوياته - لذا من أجل الوصول إليه ، يجب أن تعرف اسم الملف الذي ستقوم بالوصول إليه. سيخبرك مدير الحزم في Android باسم apk المخزنة لحزمة معينة.

للقيام بذلك من سطر الأوامر ، استخدم adb shell pm list packages للحصول على قائمة الحزم المثبتة والعثور على الحزمة المطلوبة.

باستخدام اسم الحزمة ، يمكننا الحصول على اسم الملف الفعلي وموقع APK باستخدام adb shell pm path your-package-name .

ومعرفة الدليل الكامل ، يمكننا أخيرًا سحب adb باستخدام adb pull full/directory/of/the.apk

الفضل فيtarn للإشارة إلى أنه تحت Lollipop ، سيكون مسار apk /data/app/your-package-name-1/base.apk


عندما يكون لديك تطوير Eclipse for Android مثبتًا:

  • استخدم جهازك كجهاز لتصحيح الأخطاء. على هاتفك: الإعدادات> التطبيقات> تطوير وتمكين تصحيح أخطاء USB ، راجع http://developer.android.com/tools/device.html
  • في Eclipse ، افتح DDMS-window: Window> Open Perspective> Other ...> DDMS ، راجع http://developer.android.com/tools/debugging/ddms.html
  • إذا لم تتمكن من رؤية جهازك ، حاول (إعادة تثبيت) USB-Driver لجهازك
  • في الجزء الأوسط ، حدد علامة التبويب "مستكشف الملفات" وانتقل إلى النظام> التطبيق
  • يمكنك الآن تحديد ملف واحد أو أكثر ثم النقر على أيقونة "سحب ملف من الجهاز" في الأعلى (يمين علامات التبويب)
  • حدد المجلد الهدف - تادا!

لا تحتاج إلى أذونات ROOT للحصول على قائمة التطبيقات المثبتة.

يمكنك فعل ذلك مع Android PackageManager.

يوجد أدناه مقتطف شفرة صغير.

final PackageManager pm = getPackageManager();
//get a list of installed apps.
List<ApplicationInfo> packages =  pm.getInstalledApplications(PackageManager.GET_META_DATA);

for (ApplicationInfo packageInfo : packages) {
    Log.d(TAG, "Installed package :" + packageInfo.packageName);
    Log.d(TAG, "Apk file path:" + packageInfo.sourceDir);
}

لدي حل ، في الآونة الأخيرة حاولت. ولكنني وجدت أنه عند مشاركة التطبيقات مع zapya ، فإنه يخزن الامتدادات .apk من نفس الملف في مجلد تطبيقات دليل zapya في جهازك حيث يمكنك الحصول على ملف APK للتطبيق مثبت في جهازك


هناك تطبيق على متجر Google play المسمى "Apk extracter". من خلال هذا التطبيق يمكنك الحصول على ملف .apk من التطبيق المثبت. احصل واستمتع!


يضيف Android رقمًا تسلسليًا لاسم الحزمة لإنتاج اسم ملف APK النهائي (من الممكن أن يختلف ذلك مع إصدار نظام التشغيل Android). يعمل التسلسل التالي من الأوامر على جهاز غير جذر :

  1. احصل على اسم المسار الكامل لملف APK للحزمة المطلوبة.

    adb shell pm path com.example.someapp
    

    وهذا يعطي الناتج على النحو التالي: package:/data/app/com.example.someapp-2.apk .

  2. اسحب ملف APK من جهاز Android إلى مربع التطوير.

    adb pull /data/app/com.example.someapp-2.apk
    






apk