অ্যান্ড্রয়েড .apk ফাইল রাখে? যদি তবে কোথায়?


185

অ্যান্ড্রয়েড মার্কেটপ্লেস থেকে একটি অ্যাপ্লিকেশন ইনস্টল করার পরে, এটি .apk ফাইলটি রাখে?

এমন কোনও মানক অবস্থান রয়েছে যেখানে অ্যান্ড্রয়েড এই জাতীয় ফাইলগুলি রাখবে?

উত্তর:


123

পূর্বনির্ধারিত অ্যাপ্লিকেশনগুলি /system/appফোল্ডারে রয়েছে। ব্যবহারকারী ইনস্টল অ্যাপ্লিকেশনগুলিতে আছে /data/app। আমি অনুমান করি যে আপনি কোনও রুটযুক্ত ফোন না থাকলে আপনি অ্যাক্সেস করতে পারবেন না। আমার কাছে এখানে মূলের ফোন নেই তবে এই কোডটি চেষ্টা করে দেখুন:

public class Testing extends Activity {
    private static final String TAG = "TEST";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        File appsDir = new File("/data/app");

        String[] files = appsDir.list();

        for (int i = 0 ; i < files.length ; i++ ) {
            Log.d(TAG, "File: "+files[i]);

        }
    }

এটি আমার মূলের এইচটিসি যাদুতে এবং ইমুতে অ্যাপকে তালিকাভুক্ত করে।


এটি মটোরোলা ড্রয়েড এবং নেক্সাস ওয়ান উভয়ই অ-শিকড়ের মনোযোগের মতো কাজ করেছিল।
গুব্যাট্রন

ঠিক আছে, আপনি তাদের জন্য যা চান তা আপনি কখনও বলেননি :)
ম্যাকার্সে

আমি সেগুলি পড়তে এবং তাদের সাথে জিনিসগুলি করতে সক্ষম হতে চাই। ভাগ্যক্রমে তারা পাঠযোগ্য।
গুব্যাট্রন

3
ভাল কথা হ'ল ফাইলগুলি কেবল "তালিকাভুক্ত" নয়, সেগুলিও পঠনযোগ্য, তাই তারা আমার উদ্দেশ্যটি মাপসই করবে।
গুব্যাট্রন

আমি অন্য কোথাও পড়েছি যে / ডেটা / অ্যাপে থাকা APK গুলি কেবল প্লে স্টোর থেকে ডাউনলোড করা অ্যাপ্লিকেশানের সাথে সম্পর্কিত। এটি কি সঠিক বা এতে ব্যবহারকারী ইনস্টল করা কিছু অন্তর্ভুক্ত করে?
খ্রিস্টান

132

আপনি প্যাকেজ ম্যানেজার (ব্যবহার করতে পারেন pmএর বেশি) adb shellতালিকা প্যাকেজে:

adb shell pm list packages | sort

এবং .apkফাইলটি কোথায় রয়েছে তা প্রদর্শন করতে :

adb shell pm path com.king.candycrushsaga
package:/data/app/com.king.candycrushsaga-1/base.apk

এবং adb pullAPK ডাউনলোড করতে।

adb pull data/app/com.king.candycrushsaga-1/base.apk

2
প্রতিটি অ্যাপ্লিকেশনটির প্যাকেজ নামের মতো নামের সাথে একটি ফোল্ডার রয়েছে তবে শেষে '-1' বা '-2' রয়েছে, কোনও ধারণা কেন?
shadygoneinsane

লক্ষ্য ফাইলের পথ বা নাম নির্দিষ্ট করতেadb pull /data/app/com.example.app-filename.apk path/to/desired/destination
মানিকান্ত

95

আপনি যদি পূর্বে ইনস্টল হওয়া কোনও কিছুর একটি APK ফাইল পেতে চান তবে এটি করুন:

  1. গুগল প্লে থেকে এয়ারড্রয়েড পান
  2. আপনার পিসি ওয়েব ব্রাউজার থেকে এয়ারড্রয়েড ব্যবহার করে আপনার ফোন অ্যাক্সেস করুন
  3. অ্যাপ্লিকেশনগুলিতে যান এবং ইনস্টল করা অ্যাপ্লিকেশনটি নির্বাচন করুন
  4. আপনার ফোন থেকে এই অ্যাপ্লিকেশনটির APK সংস্করণটি ডাউনলোড করতে "ডাউনলোড করুন" বোতামটি ক্লিক করুন

আপনাকে আপনার ফোনটি রুট করতে, ব্যবহার করতে adbবা কোনও কিছু লেখার দরকার নেই।


2
ডাউনভোটেড কারণ এটি সত্যই প্রশ্নের উত্তর দেয় না। যদি ওপি এডিবি ব্যবহার করতে চায়, তবে এটি ডিবাগিং অনুমোদিত এমন ডিভাইসে ব্যবহার করা যেতে পারে তবে পাসওয়ার্ড ভুলে গেছে বা স্ক্রিন নষ্ট হয়েছে।
হ্যাক 5

আনরোটেড ডিভাইসের জন্য এপিপি ফাইল পাওয়ার সহজ উপায়।
ফাহমি হামদাদি

ধন্যবাদ। উত্সাহিত হওয়ার ফলে প্রশ্নটি এইভাবে উপস্থাপন করে: "এটি তাদের / ডেটাতে রাখে, তবে কেবল আপনি যদি এক্স পদ্ধতি করেন তবে"
এনটিজি

26

কোনও স্ট্যান্ডার্ড অবস্থান নেই, তবে আপনি প্যাকেজ ম্যানেজারটি ব্যবহার করে প্যাকেজগুলি সম্পর্কে জানতে এবং অ্যাপ্লিকেশনআইফো ক্লাসটি সেখান থেকে পেতে পারেন একটি নির্দিষ্ট প্যাকেজ সম্পর্কে বিভিন্ন তথ্য রয়েছে: এটির .apk, তার ডেটা ডিরেক্টরিতে যাওয়ার পথ, পথ কেবলমাত্র উত্স-এ .apk (ফরওয়ার্ড অ্যাপ্লিকেশনগুলির জন্য), ইত্যাদিতে ইত্যাদি Note নোট করুন যে অন্য অ্যাপ্লিকেশনটির সাথে আপনার সম্পর্কের উপর নির্ভর করে আপনার এই ডিরেক্টরিগুলি পড়ার অনুমতি থাকতে পারে বা থাকতে পারে না; তবে সমস্ত অ্যাপ্লিকেশন রিসোর্স .apk পড়তে সক্ষম (যা নন-ফরোয়ার্ড-লক করা অ্যাপ্লিকেশনের জন্য আসল .apk)।

যদি আপনি কেবল শেলটি ঘুরে দেখেন তবে বর্তমানে নন-ফরোয়ার্ড-লক করা অ্যাপ্লিকেশনগুলি / ডেটা / অ্যাপ / অ্যাপে অবস্থিত। শেল ব্যবহারকারী একটি নির্দিষ্ট .apk পড়তে পারে, যদিও এটি ডিরেক্টরিটি তালিকাভুক্ত করতে পারে না। ভবিষ্যতে প্রকাশে নামকরণের কনভেনশনটি কিছুটা পরিবর্তন করা হবে, সুতরাং এটির অবশিষ্টটি একই হিসাবে গণনা করবেন না, তবে আপনি যদি প্যাকেজ ম্যানেজারের কাছ থেকে .apk এর পথটি পান তবে আপনি এটি শেলটিতে ব্যবহার করতে পারেন।


2
একটি "ফরওয়ার্ড লক অ্যাপ" কি?
টনি চ্যান

1
এটি একটি পুরাতন অনুলিপি সুরক্ষা প্রক্রিয়া যা .apk অনুমোদনের সাথে ইনস্টল করে যা কেবলমাত্র সেই অ্যাপ্লিকেশনটিকে এটি পড়তে দেয়।
হ্যাকবড

18

প্রাক-ইনস্টল করা অ্যাপ্লিকেশনগুলি সাধারণত / সিস্টেম / অ্যাপে থাকে এবং ব্যবহারকারী ইনস্টল থাকা অ্যাপ্লিকেশনগুলি / ডেটা / অ্যাপে থাকে।

আপনি "অ্যাডবি টান" ব্যবহার করতে পারেন, তবে আপনাকে APK ফাইলের পুরো পথটি জানতে হবে। এমুলেটরটিতে আপনি "অ্যাডবি শেল" + "এলএস" ব্যবহার করে একটি ডিরেক্টরি তালিকা পেতে পারেন। তবে একটি অ্যান্ড্রয়েড ডিভাইসে, আপনি সুরক্ষা কারণে "" ডেটা "ফোল্ডারে সেটি করতে সক্ষম হবেন না। তাহলে আপনি কীভাবে এপিএল ফাইলটির পুরো পথটি খুঁজে বের করবেন?

আপনি প্যাকেজম্যানেজারকে জিজ্ঞাসা করে এমন একটি প্রোগ্রাম লিখে সমস্ত অ্যাপ্লিকেশনগুলির সম্পূর্ণ তালিকা পেতে পারেন। শর্ট কোড স্নিপেট নীচে:

PackageManager  pm = getPackageManager();
List<PackageInfo> pkginfo_list = pm.getInstalledPackages(PackageManager.GET_ACTIVITIES);
List<ApplicationInfo> appinfo_list = pm.getInstalledApplications(0);
for (int x=0; x < pkginfo_list.size(); x++){             
  PackageInfo pkginfo = pkginfo_list.get(x);
  pkg_path[x] = appinfo_list.get(x).publicSourceDir;  //store package path in array
}

আপনি এমন অ্যাপসও সন্ধান করতে পারেন যা এই জাতীয় তথ্য দেবে। তাদের প্রচুর আছে। এটি ব্যবহার করে দেখুন (অ্যাপসেন্ডার)।


9

আপনি যদি একটি নির্দিষ্ট অ্যাপ্লিকেশনটির সন্ধান করেন তবে একটি দ্রুত এবং নোংরা সমাধান হ'ল বাগেরপোর্টকে গ্রেপ করা:

$ adb bugreport | grep 'dir=/data/app' 

আমি জানি না যে এটি একটি বিস্তৃত তালিকা সরবরাহ করবে, সুতরাং এটি প্রথমে অ্যাপটি চালাতে সহায়তা করতে পারে may


9

মার্কেটপ্লেস থেকে ইনস্টল করুন

এটি প্রতিষ্ঠানের পরে এপিপি রাখা উচিত কিনা এটি মার্কেটপ্লেসের আচরণ। গুগল প্লে ইনস্টলেশনের পরে এপিকে রাখে না। অন্যান্য তৃতীয় পক্ষের মার্কেটপ্লেসে বিভিন্ন আচরণ থাকতে পারে।

বিকাশ / ডিবাগ সরঞ্জাম থেকে ইনস্টল করুন (অ্যাডবি, গ্রহন, অ্যান্ড্রয়েড স্টুডিও)

যখন আমরা এপিকে ডিবাগ সরঞ্জাম থেকে সরাসরি ইনস্টল করি, সরাসরি অনুরোধ করি adb installবা গ্রহণ / অ্যান্ড্রয়েড স্টুডিও থেকে, adb pushঅ্যাপকে সাধারণত পাবলিক রিড এবং লিখনযোগ্য ডিরেক্টরিতে স্থানান্তরিত করা হয় /data/local/tmp/। এর পরে, সরঞ্জামটি pmইনস্টল করতে কমান্ডটি ব্যবহার করবে , এটি /data/local/tmp/সফল ইনস্টলেশন পরবর্তী অস্থায়ী এপিকে মুছে ফেলবে ।

নিম্নলিখিতগুলির মতো আমরা ডিবাগ আউটপুট থেকে এই তথ্যগুলি পেতে পারি।

$ adb install bin/TestApplication.apk 
3155 KB/s (843375 bytes in 0.260s)
    pkg: /data/local/tmp/TestApplication.apk
Success

সিস্টেম কীভাবে এপিকে রাখে

অবশ্যই সিস্টেমটি কোথাও সমস্ত অ্যাপস সংরক্ষণ করতে হবে। বিভিন্ন ধরণের অ্যাপের উপর ভিত্তি করে অ্যাপসকে রাখার জন্য সিস্টেমের জন্য তিনটি জায়গা রয়েছে:

  1. স্টক অ্যাপ্লিকেশন জন্য

    এগুলি সাধারণত চালনার মাধ্যমে ডিভাইসে প্রেরণ করা হয়, সিস্টেম চলমান এবং গুগল পরিষেবাগুলির জন্য মূল অ্যাপ্লিকেশন সহ, আপনি সেগুলি ডিরেক্টরিতে /system/appএবং এর অধীনে খুঁজে পেতে পারেন /system/priv-app

  2. ব্যবহারকারী ইনস্টল অ্যাপ

    বেশিরভাগ অ্যাপস এই বিভাগে আসে into এই অ্যাপসটি সাধারণত ব্যবহারকারীদের দ্বারা বা বিকল্প adb installছাড়াই মার্কেটপ্লেস থেকে ইনস্টল করা হয় -s/data/appকোনও রুটযুক্ত ডিভাইসের জন্য আপনি তাদের ডিরেক্টরিতে দেখতে পারেন ।

  3. এসডিকার্ডে অ্যাপ

    যদি apk android:installLocation="auto"এর ম্যানিফেস্টের সাহায্যে এসডিকার্ডে এর ইনস্টল অবস্থান সক্ষম করে , তবে অ্যাপ্লিকেশনটি সিস্টেমের অ্যাপ ম্যানেজার মেনু থেকে এসডকার্ডে স্থানান্তরিত হতে পারে। এই অ্যাপসটি সাধারণত এসডিকার্ডের সুরক্ষিত ফোল্ডারে থাকে /mnt/sdcard/asec

    এসডিকার্ডে ইনস্টল করার লোকেশনকে বাধ্য করার আন্তরিক উপায় হ'ল কমান্ডটি ব্যবহার করা adb install -s apk-to-install.apk

একটি নোট হিসাবে, প্রাক ইনস্টল অ্যাপ্লিকেশন ফাইলগুলি একটি একক .apkফাইলে নেই। ডিরেক্টরিতে /system/appবা /system/priv-appনতুন অ্যান্ড্রয়েড রিলিজের জন্য প্রতিটি প্রাক ইনস্টল থাকা অ্যাপ্লিকেশনের জন্য ফাইলযুক্ত একটি ফোল্ডার রয়েছে ।


8

আপনি এডিবির সাহায্যে অ্যাপ্লিকেশনগুলি টানতে পারেন। তারা / ডেটা / অ্যাপ / এ রয়েছে, আমি বিশ্বাস করি।

adb pull (location on device) (where to save)

নোট করুন যে অনুলিপিযুক্ত সুরক্ষিত অ্যাপ্লিকেশনগুলি টানতে আপনাকে আপনার ফোনটি রুট করতে হবে।


5

ইন / ডেটা / অ্যাপ্লিকেশন তবে অনুলিপি সুরক্ষার জন্য আমি মনে করি না আপনি এটি অ্যাক্সেস করতে পারবেন।


2
সুতরাং ঠিক এমন কোনও অ্যাপ্লিকেশন, যা ব্লুটুথ কাজের মাধ্যমে APK ভাগ করে নেওয়ার অনুমতি দেয়? তারা কিভাবে এটা করবেন?
ছোট শিশু

5

আপনি যদি রুট হয়ে থাকেন তবে রুট এক্সপ্লোরার অ্যাপটি ডাউনলোড করুন। রুট ব্যবহারকারীদের জন্য সেরা ফাইল ম্যানেজার। যাইহোক, সিস্টেম / অ্যাপ্লিকেশনটিতে ফোনের সাথে আসা সমস্ত ডিফল্ট অ্যাপস রয়েছে এবং আপনি যে অ্যাপ্লিকেশন ইনস্টল করেছেন সেগুলির সমস্ত অ্যাপস ডেটা / এপিকে রয়েছে। আপনি যে apk চান তার উপর কেবল দীর্ঘ টিপুন (রুট এক্সপ্লোরার থাকা অবস্থায়), আপনার / এসডিকার্ড ফোল্ডারে যান এবং কেবল পেস্ট করুন।


4

/ ডেটা / অ্যাপ্লিকেশন / এর অধীনে সমস্ত .apks তালিকা করতে এটি ব্যবহার করুন

adb bugreport | grep 'package name="' | grep 'codePath="/data' | cut -d'"' -f4

4
  • তথ্য / অ্যাপ
  • সিস্টেম / অ্যাপ
  • সিস্টেম / priv-অ্যাপ
  • mnt / asec (যখন এসডিকার্ডে ইনস্টল করা হয়)

আপনি এগুলির যে কোনও একটি থেকে .apks টানতে পারেন:

adb pull / mnt / asec


3

.apk ফাইলগুলি / ডেটা / অ্যাপ / ডিরেক্টরি এর অধীনে অবস্থিত হতে পারে। ES ফাইল এক্সপ্লোরার ব্যবহার করে আমরা এই .APK ফাইলগুলিতে অ্যাক্সেস করতে পারি।


2

আপনি যদি গ্রিপস গোটো ডিডিএমএস ব্যবহার করেন এবং তারপরে সেখানে ফাইল এক্সপ্লোরার করে থাকেন আপনি সিস্টেম / অ্যাপস ফোল্ডারটি দেখতে পাবেন এবং অ্যাপসটি সেখানে রয়েছে


0

আমি যখন আমার অ্যাপ্লিকেশনটি এমুলেটরে ইনস্টল করেছি, এটি আমার .apk ফাইলটি এতে দেখিয়েছে

ডেটা / অ্যাপ্লিকেশন তারপরে আমি ls ডেটা / অ্যাপ // ব্যবহার করেছি এটি উপস্থিত আছে কি নেই তা দেখার জন্য

আপনি আপনার অ্যাপ্লিকেশন ইনস্টল করার পরে ls কমান্ড ভি শেলটি ব্যবহার করুন এবং পছন্দসই ডিরেক্টরিটি পরীক্ষা করুন তবে এটি নির্ভর করে আপনি কোন ধরণের অ্যাপ্লিকেশন ইনস্টল করার চেষ্টা করছেন। কোনও জিনিস ভুল হলে আমি পয়েন্টটি ইনস্টল করতে এই পদ্ধতিটি ব্যবহার করেছি।


আমিও অ্যাপস সনাক্ত করার চেষ্টা করছি তবে যা আমি পেয়েছি তা হ'ল আপনি সমস্ত অ্যাপসটি সনাক্ত করতে পারবেন না আমি মূল পদ্ধতিটি প্রস্তাব করি। আমি সমস্ত ইনস্টল করা অ্যাপসটি পেতে সক্ষম হইনি। তাই আপনার ফোনটি রুট করা এবং টাইটানিয়াম ব্যাকআপ ব্যবহার করে সমস্ত অ্যাপ্লিকেশন পাওয়া এবং আপনার ফোনে আরও নিয়ন্ত্রণ অর্জন করা ভাল।
জাওয়াদ আমজাদ

0

যে apkশুল্কটি আপনি খুঁজে পাচ্ছেন না তার অন্য একটি উপায় হ'ল রোম সরঞ্জাম বাক্সের সাথে

অ্যাপ ম্যানেজার ব্যবহার করে একটি ব্যাকআপ তৈরি করুন তারপরে যান storage/emulated/appmanagerএবং সিস্টেম অ্যাপ্লিকেশন ব্যাকআপ বা ব্যবহারকারী অ্যাপ্লিকেশন ব্যাকআপ যাচাই করুন


0

এটির জন্য apk, প্লে স্টোর থেকে ব্লুটুথ অ্যাপ প্রেরকটি ডাউনলোড করুন এবং ইনস্টল করুন। একবার ইনস্টলেশন সম্পূর্ণ হলে ব্লুটুথ অ্যাপ প্রেরকটি খুলুন। এটি (.apk)আপনার ডিভাইসে ইনস্টল করা সমস্ত অ্যাপ্লিকেশন দেখায় , তারপরে আপনি সহজেই ব্লুটুথের মাধ্যমে অ্যাপটিকে আপনার পিসিতে স্থানান্তর করতে পারেন।


0

নির্বাচিত উত্তরে যা লেখা আছে তার বিপরীতে, আপনার রুট লাগবে না এবং ইনস্টল করা অ্যাপ্লিকেশনগুলির APK গুলি পাওয়া সম্ভব, যা আমি আমার অ্যাপে এটি এখানে করেছি ( এখানে )। উদাহরণ:

List<PackageInfo> packages=getPackageManager().getInstalledPackages(0);

তারপরে তালিকার প্রতিটি আইটেমের জন্য আপনি প্যাকেজআইএনফো.এপলিকেশনআইএনফো.সোর্সডির অ্যাক্সেস করতে পারবেন , এটি ইনস্টলড অ্যাপের APK এর পুরো পথ।


-1

আমি এই পোস্টে এসেছি কারণ আমি কিছু পছন্দ করেছি এমন অ্যাপটি পুনরায় ইনস্টল করতে চেয়েছিলাম। যদি এটি আপনার ক্ষেত্রে হয় তবে কেবল গুগল প্লেতে যান এবং আমার অ্যাপ্লিকেশন, সমস্ত ট্যাব সন্ধান করুন এবং আপনি পছন্দ করেছেন এমন কিছু অ্যাপ পুনরায় ইনস্টল করার একটি উপায় খুঁজে পাবেন। আমি একটি সমস্যার মুখোমুখি হয়েছি যা আমি একটি অ্যাপ্লিকেশন অনুসন্ধান করে খুঁজে পাই না, তবে এটি আমার অ্যাপ্লিকেশনগুলিতে ছিল যাতে আমি আমার নতুন মোবাইলটি পুনরায় ইনস্টল করতে পারি;)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.