আমি কীভাবে একটি অ্যান্ড্রয়েড ডিভাইস থেকে একটি apk ফাইল পেতে পারি?


484

আমি কীভাবে একটি অ্যান্ড্রয়েড ডিভাইস থেকে APK ফাইল পাব? বা আমি কীভাবে APK ফাইলটি ডিভাইস থেকে সিস্টেমে স্থানান্তর করব?

উত্তর:


118

অ্যাডবি ব্যবহার করুন । সঙ্গে এডিবি খিঁচ আপনি ফাইল আপনার ডিভাইস থেকে আপনার সিস্টেম থেকে, যখন ডিভাইসটি ইউএসবি সঙ্গে সংযুক্ত করা হয় অনুলিপি করতে পারবেন।

অবশ্যই আপনার ফাইলটি যে ডিরেক্টরিতে রয়েছে সেগুলি অ্যাক্সেস করার জন্য আপনার সঠিক অনুমতিও দরকার If যদি তা না হয় তবে আপনাকে প্রথমে ডিভাইসটি রুট করতে হবে।


যদি আপনি দেখতে পান যে অনেকগুলি APK এর নাম "বেস.এপকে" রয়েছে তবে আপনি প্যাকেজের নামে কোনও "বেস.এপকে" নাম পরিবর্তন করার সময় অ্যাক্সেস করতে পারবেন এমন ফোন থেকে সমস্ত APK টানতে এই ওয়ান লাইন কমান্ডটি ব্যবহার করতে পারেন। এটি নামের পরে আপাতদৃষ্টিতে এলোমেলো অক্ষরযুক্ত APK পাথের জন্য পাওয়া না পাওয়া ডিরেক্টরিটিকেও ঠিক করে দেয়:

for i in $(adb shell pm list packages | awk -F':' '{print $2}'); do adb pull "$(adb shell pm path $i | awk -F':' '{print $2}')"; mv base.apk $i.apk 2&> /dev/null ;done

যদি আপনি "অ্যাডবি: ত্রুটি: রিমোট অবজেক্টটি স্থির করতে ব্যর্থ হন" তবে এটি নির্দেশ করে যে আপনার প্রয়োজনীয় অনুমতি নেই। আমি এটি কোনও অ-মূলযুক্ত মোটো জেড 2 এ চালিয়েছি এবং ইউটিউব ব্যতীত আমি আনইনস্টল না করে সমস্ত APK ডাউনলোড করতে সক্ষম হয়েছি (নীচে দেখুন)।

adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver   <--- kills presidential alert app!

(ব্যবহারকারীরা অ্যাডবি শেল পিএম তালিকা ব্যবহারকারীদের দেখেন) এটি মুছে ফেলার / আনইনস্টল করার উপায় (ফোন থেকে ফ্যাক্টরি রিসেটের সাথে ফিরে আসে না) সিস্টেম অ্যাপ্লিকেশন অন্তর্ভুক্ত প্রায় কোনও অ্যাপ্লিকেশন (বিরক্তিকর আপডেট অ্যাপ্লিকেশনটি ইঙ্গিত করে যা আপনার ফোন আপডেট করে এটি লাইন করুন বা "সিসিসি" এর জন্য গ্রেপিংয়ের মাধ্যমে পাওয়া যাবে না)


1
ধন্যবাদ মরিটস রিজক। আমাকে সাহায্য করুন। আমি ডিভাইস থেকে সিস্টেমে iTwips.apk ফাইলটি অনুলিপি করতে চাই। আমি নিম্নলিখিত কমান্ড ব্যবহার করছি। এটা কি ঠিক ? আমি ত্রুটি পেয়েছি "Android2.2Froyo / sdcard / iTwips.apk" প্রস্থান করে না ... / ব্যবহারকারী / বিবিবি / অ্যান্ড্রয়েড / অ্যান্ড্রয়েড-এসডিকে-ম্যাক_86 / সরঞ্জাম / অ্যাডবি টান Android2.2 ফ্রয়েও / এসডিকার্ড / আইটিউইপস.এপকে / ব্যবহারকারী / বিবিবি ধন্যবাদ অগ্রিম .......
ফাইন্ডার

আমার ডিভাইসে (অ্যান্ড্রয়েড ২.১) কমান্ডটি "এসডিবি পুল / এসডিকার্ড / টেস্ট.জেপজি" হবে আমার টেস্ট.জেপিজি থেকে আমার এসডি কার্ড থেকে বর্তমান ডিয়ারে অনুলিপি করতে। "Adb শেল" ব্যবহার করে প্রথমে আপনার iTwips.apk ফাইলটি সনাক্ত করুন। এটি আপনার ডিভাইসে একটি শেল শুরু করে এবং আপনার ডিরেক্টরিগুলি ব্রাউজ করতে আপনি ls এবং cd এর মতো মানক ইউনিক্স কমান্ড ব্যবহার করতে পারেন।
মরিটস রিজক

হাই, আসলে ডিভাইসের অভ্যন্তরীণ মেমরিটিতে আইটিউইপস.এপকে সঞ্চয় করা আছে। আমি এইটির জন্য শেলটি কীভাবে ব্যবহার করতে পারি? আমি নীচের কমান্ডটি অ্যাডপি-ডি <ডিভাইসम्बरবার শেল ব্যবহার করছি .. তবে এটি কার্যকর হয় না .. দয়া করে আমাকে সহায়তা করুন .. অগ্রিম ধন্যবাদ।
ফাইন্ডার

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

16
@ ফাইন্ডার @ মরিটস রিজক আসলে, আপনাকে কেবল এপিপি টানতে ডিভাইসটি রুট করতে হবে না। যতক্ষণ আপনি জানেন সেই এপকের পুরো পথটি। যদি অ্যাপ্লিকেশন ইনস্টল করা থাকে তবে প্রথমে প্যাকেজের নামটি adb shell pm list packagesএবং তার সম্পূর্ণ পথটি adb shell pm path your.package.nameআপনার পিসি থেকে প্রথমে দেখে পুরো পাথটি সন্ধান করুন , আপনি সহজেই করতে পারেনadb pull /full/path/to/your.apk
Isa

1548

এই প্রস্তাবগুলির কোনোটাই আমার পক্ষে কাজ করেনি, কারণ চূড়ান্ত এপিএল ফাইলের নাম উত্পাদন করতে অ্যান্ড্রয়েড প্যাকেজের নামে একটি ক্রম নম্বর যুক্ত করেছিল number অ্যান্ড্রয়েডের আরও সাম্প্রতিক সংস্করণগুলিতে (ওরিও এবং পাই), একটি অনাকাঙ্ক্ষিত এলোমেলো স্ট্রিং যুক্ত হয়। কমান্ডগুলির নিম্নলিখিত ক্রমটি হ'ল একটি মূল-বিহীন ডিভাইসে আমার জন্য কাজ করেছে :

1) অ্যাপটির প্যাকেজের নাম নির্ধারণ করুন, যেমন "com.example.someapp"। আপনি যদি ইতিমধ্যে প্যাকেজের নাম জানেন তবে এই পদক্ষেপটি এড়িয়ে যান।

adb shell pm list packages

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

2) কাঙ্ক্ষিত প্যাকেজটির জন্য APK ফাইলের পুরো পথের নামটি পান।

adb shell pm path com.example.someapp

আউটপুটটি
প্যাকেজের মতো দেখতে পাবেন : /data/app/com.example.someapp-2.apk
বা
প্যাকেজ: /data/app/com.example.someapp-nfFSVxn_CTafgra3Fr_rXQ == / বেস.apk

3) পদক্ষেপ 2 থেকে পুরো পথের নামটি ব্যবহার করে, Android ডিভাইস থেকে APK বাক্সটি বিকাশ বাক্সে টানুন।

adb pull /data/app/com.example.someapp-2.apk path/to/desired/destination

65
এটি সেরা উত্তর, ডিভাইসটি রট করার দরকার নেই !! অনেক অনেক ধন্যবাদ
মুহান্নাদ এ আলহারিরি

14
এটি আমার সমস্ত Android ডিভাইসে কাজ করেছে এবং এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
b.mcewan

8
pm list packages-fপতাকাটি সমর্থন করে যা আপনার জন্য .apk এর অবস্থানের তালিকা করে package:/data/app/com.google.android.apps.maps-1.apk=com.google.android.apps.maps। বিল্ট-ইন অপরাহ্ন সাহায্যের বেহুদা, কিন্তু টা প্যাকেজ এছাড়াও ফিল্টার ধরনের খুব দেখতে পারেন developer.android.com/studio/command-line/adb.html#pm আরও তথ্যের জন্য। সম্পাদনা: সবেমাত্র লক্ষ্য করা গেছে যে নীচের উত্তরটি এটি বলেছে, তবে উত্তরটি এইটির মতো প্রায় উত্সাহিত নয়।
হাইটেক কম্পিউটার কম্পিউটার

9
আমার জন্য কাজ করে না। আমি নিম্নলিখিত ত্রুটির পাবেন: adb: error: remote object '/data/app/path.of.the.app-2/base.apk' does not exist। যদি আমি এই ফোল্ডারগুলিকে কোনও ফাইল ব্রাউজার দিয়ে ব্রাউজ করি তবে ফোল্ডারগুলি খালি রয়েছে।
বেভোর

7
@ বেভারের মতো আমারও একই সমস্যা ছিল, যখন টানতে গিয়ে আমি ত্রুটি পেয়েছিলাম যে এপিপি "উপস্থিত নেই"। আমি এটি ব্যবহার করে adb shellএবং তারপরে cp PathToApk /sdcard/এবং তারপর এসডিকার্ড থেকে অনুলিপি করে এটি ঠিক করেছি ।
কলিন

124

কোন মূল প্রয়োজন:

এই কোডটি নামের সাথে তৃতীয় পক্ষের প্যাকেজ পাথগুলি পাবে যাতে আপনি সহজেই আপনার APK টি সনাক্ত করতে পারেন

adb shell pm list packages -f -3

আউটপুট হবে

প্যাকেজ: /data/app/XX.XX.XX.apk=YY.YY.YY

এখন নীচের কোড ব্যবহার করে সেই প্যাকেজটি টানুন:

adb pull /data/app/XX.XX.XX.apk

আপনি যদি সিএমডি এর উপরে চালিত হন C:>\, তবে আপনি সেই প্যাকেজটি সেখানে পাবেন।


1
এটি দুর্দান্ত উত্তর! আপনাকে অনেক ধন্যবাদ :)
টানুন

1
কিছু কারণে আমি আমার / ডেটা / অ্যাপ্লিকেশন / ডিরেক্টরিতে APKs খুঁজে পাচ্ছি না । সেখানে সবসময় একটি উপ-ডিরেক্টরি আছে।
ইগোরগানাপলস্কি

সিস্টেম অ্যাপ্লিকেশান ব্যবহার -f -sপরিবর্তে-f -3
palindrom

57

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

আপনি এতক্ষণে কোন অ্যাপ্লিকেশন পেয়েছেন তা তালিকাভুক্ত করতে।

adb shell pm list packages

তারপরে আপনি কোনও অ্যাপ্লিকেশন নির্বাচন করতে পারেন, উদাহরণস্বরূপ টুইটার

adb backup -apk com.twitter.android

এখানে একটি গুরুত্বপূর্ণ বিষয় হ'ল আপনার ব্যাকআপটি এনক্রিপ্ট করার জন্য একটি পাসওয়ার্ড সেট আপ না করা

এটি ব্যাকআপ.এপ ​​হিসাবে একটি ফাইল তৈরি করতে যাচ্ছে তবে আপনি এখনও এটি খুলতে পারবেন না। এর জন্য আপনাকে আবার এক্সট্রাক্ট করতে হবে তবে dd কমান্ডটি ব্যবহার করে।

dd if=backup.ab bs=24 skip=1 | openssl zlib -d > backup.tar

এটির পরে আপনাকে যা করতে হবে তা হ'ল টার সামগ্রীগুলি বের করা এবং এটি হয়ে গেছে।

আশা করি এটি আপনার জন্য কাজ করে


7
Blog.shvetsov.com/2013/02/… থেকে , যদি আপনার ওপেনসেলটিতে জ্লিব না থাকে তবে এটি কাজ করতে পারে: ডিডি if = ব্যাকআপ.এব বিএস = 1 এড়িয়ে যান = 24 | পাইথন-সি "আমদানি zlib, sys; sys.stdout.write (zlib.decompress (sys.stdin.read ()))" | আলকাতরা -xvf -
Kodi

1
এটি আমার পক্ষে কাজ করেছে, গৃহীত উত্তরের পদ্ধতি নয়। আমার সত্যিকারের অ্যাপ্লিকেশনগুলির মধ্যে যখন আমার একটি পুরানো অ্যাপ্লিকেশনটির APK প্রয়োজন তখন এটি সত্যিই আমাকে সাহায্য করেছিল তবে আমার ফোনটি ছাড়া এটি আমার কাছে উপলব্ধ ছিল না।
জিশান

1
আপনার ওপেনস্লে zlib সমর্থন না থাকলে এখানে আরও তথ্য রয়েছে: stackoverflow.com/questions/29830981/…
নিকো উইডেম্যান

19

ডিভাইস থেকে ডেস্কটপ থেকে APK ডাউনলোডের পদক্ষেপ

ক) আপনার চলমান (এমুলেটর / আসল ডিভাইস) নিশ্চিত করুন। এই কমান্ডটি ব্যবহার করে পরীক্ষা করুন

adb devices

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

adb shell pm list packages
adb shell pm list packages -f -3

আউটপুট (উপলব্ধ প্যাকেজগুলির তালিকা)

package:/data/app/com.example.mytestapplication-sOzKi5USzfbYLPNDmaaK6g==/base.apk=com.example.mytestapplication
package:/data/app/com.example.myapplication-nd1I4FGnTZnQ9PyRbPDHhw==/base.apk=com.example.myapplication

গ) উপরের লিঙ্কটি থেকে প্যাকেজটি (যা আপনি ডাউনলোড করতে চান ) অনুলিপি করুন। আমাদের কেসটি গঠন করুন আমি এটি (com.example.myapplication) প্যাকেজটি বেছে নিই

Syntax : adb shell pm path [your_package_name]
Command: adb shell pm path com.example.myapplication

আউটপুট

package:/data/app/com.example.myapplication-nd1I4FGnTZnQ9PyRbPDHhw==/base.apk

ডি) শেষ অবধি, আপনার (এমুলেটর / রিয়েল ডিভাইস) থেকে APK ডাউনলোড করতে

Syntax : adb pull /data/app/[your_package_name]-1/base.apk  [your_destination_path]
Command: adb pull /data/app/com.example.myapplication-3j4CVk0Tb2gysElgjz5O6A==/base.apk /Users/$(whoami)/Documents/your_apk.apk

উদাহরণ: আপনার স্থানীয় মেশিনে (ম্যাক) এই CertInstaller.apk ফাইলটি টানতে চেষ্টা করছেন

adb pull /system/app/CertInstaller/CertInstaller.apk /Users/$(whoami)/Documents/APK/download_apk/

ঙ) আপনার স্থানীয় ডিরেক্টরিতে নিশ্চিত করুন

ls -la /Users/$(whoami)/Documents/

উদ্দেশ্যটি হ'ল একটি একক এপিপি বের করা, তবু 4 য় ধাপে আপনি ব্যাখ্যা বা পূর্ববর্তী রেফারেন্স ছাড়াই দুটি অতিরিক্ত ফাইল টানুন।
কার্লস

আমি প্রতিটি পদক্ষেপের স্পষ্ট করে এই পোস্টটি পরিবর্তন করেছি opeএই পরিবর্তনটি সহায়ক এবং সহজে বোঝা যাবে।
ফরিদ হক

18
C:\Users\xyz>adb shell pm list packages -f | findstr whatsapp
package:/data/app/com.whatsapp-1/base.apk=com.whatsapp

C:\Users\xyz>adb pull /data/app/com.whatsapp-1/base.apk Desktop
/data/app/com.whatsapp-1/base.apk: 1 f.... 13.8 MB/s (32803925 bytes in 
2.269s)

এটি আমার মতে সর্বাধিক সোজা উপায়। ধন্যবাদ!
বিটক্টরিজ

1
ছেলেরা সন্ধানের পরিবর্তে লিনাক্স বা ম্যাক ব্যবহার করছে গ্রেপ ব্যবহার করুন
জিভা


7

@ যোজিম্বোর উত্তর সম্পূর্ণ করা, আমি এটিই করেছি (লিনাক্স / ম্যাক কেবল উইন্ডোজের বাক্স থেকে বেরিয়ে আসবে না ... সম্ভবত গিটের ব্যাশ শেলের মধ্যে):

for i in $(adb shell pm list packages -f -3 | cut -d= -f 1 | cut -d ":" -f 2); do adb pull $i; done

এটি কুৎসিত বাশ, কিন্তু কাজ করে :)

সম্পাদনা: এটি আর অ্যান্ড্রয়েডএম এ কাজ করে না: সমস্ত ফাইলের নাম দেওয়া হয়েছে "বেস.এপকে" অন্য ডিয়ারের অধীনে। ঠিক করার জন্য "তুচ্ছ" হওয়া উচিত।


7

ইউনিক্স সিস্টেমে আপনি এই ফাংশনটি ব্যবহার করে দেখতে পারেন:

function android_pull_apk() {
    if [ -z "$1" ]; then
        echo "You must pass a package to this function!"
        echo "Ex.: android_pull_apk \"com.android.contacts\""
        return 1
    fi

    if [ -z "$(adb shell pm list packages | grep $1)" ]; then
        echo "You are typed a invalid package!"
        return 1
    fi

    apk_path="`adb shell pm path $1 | sed -e 's/package://g' | tr '\n' ' ' | tr -d '[:space:]'`"
    apk_name="`adb shell basename ${apk_path} | tr '\n' ' ' | tr -d '[:space:]'`"

    destination="$HOME/Documents/Android/APKs"
    mkdir -p "$destination"

    adb pull ${apk_path} ${destination}
    echo -e "\nAPK saved in \"$destination/$apk_name\""
}
  • উদাহরণ :android_pull_apk com.android.contacts
  • দ্রষ্টব্য : প্যাকেজটি সনাক্ত করতে:adb shell pm list packages

6

উপরে যেমন বলা হয়েছে, আপনি এডিবি-তে পুল কমান্ডটি ব্যবহার করে এপিপি পেতে পারেন।

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

তারপরে অ্যাডবি কমান্ডটি ব্যবহার করুন - অ্যাডবি টান / ডেটা / ডেটা / অ্যাপনেম.এপকে


6

আপনার সমস্ত অ্যাপ্লিকেশন ব্যাকআপ করতে এই একটি লাইনার বাশ কমান্ডটি ব্যবহার করে দেখুন:

for package in $(adb shell pm list packages -3 | tr -d '\r' | sed 's/package://g'); do apk=$(adb shell pm path $package | tr -d '\r' | sed 's/package://g'); echo "Pulling $apk"; adb pull -p $apk "$package".apk; done

এই কমান্ডটি ফায়ার্ল্ডের স্ক্রিপ্ট থেকে প্রাপ্ত । আমি এলকুকোর স্ক্রিপ্ট , অর্থাৎ একই সমস্যাটি সমাধান করার জন্য সমস্ত অ্যাপসকে তাদের প্যাকেজের নামে নতুন নামকরণ করেছি samebase.apk ফাইলটি অ্যান্ড্রয়েড " এবং ওভাররাইট করা হচ্ছে।

নোট করুন যে এই কমান্ডটি কেবলমাত্র তৃতীয় পক্ষের অ্যাপগুলিকে ব্যাক আপ করে, কোজ আমি বিল্ট-ইন অ্যাপ্লিকেশনগুলিকে ব্যাক আপ করার বিন্দু দেখতে পাচ্ছি না। তবে আপনি যদি ব্যাকআপ সিস্টেম অ্যাপসও চান, তবে -3বিকল্পটি বাদ দিন ।


5

যদি আপনি জানেন (বা যদি আপনি "অনুমান" করতে পারেন) এর পথটি .apk(এটি বিন্যাসের মতো মনে হয়) /data/app/com.example.someapp-{1,2,..}.apkতবে আপনি কেবল এটি থেকে অনুলিপি করতে পারেন/data/app পাশাপাশি। এমনকি আমার অ মূলী, স্টক Android ফোনে কাজ করেন।

শুধু (যেমন একটি টার্মিনাল এমুলেটর অ্যাপ্লিকেশন ব্যবহার এই এক ) এবং সঞ্চালন করুন:

# step 1: confirm path
ls /data/app/com.example.someapp-1.apk
# if it doesn't show up, try -2, -3. Note that globbing (using *) doesn't work here.
# step 2: copy (make sure you adapt the path to match what you discovered above)
cp /data/app/com.example.someapp-1.apk /mnt/sdcard/

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


5

এখানে বর্ণিত পদ্ধতিগুলি অ্যান্ড্রয়েড 7 (নওগাত) [এবং সম্ভবত অ্যান্ড্রয়েড 6 এর জন্য কাজ করে না, তবে আমি যাচাই করতে অক্ষম]। আপনি .apk ফাইলগুলি সরাসরি নওগাতের অধীনে টানতে পারবেন না (রুট মোডে না থাকলেও তবে এর জন্য একটি রুট ফোন প্রয়োজন)। তবে, আপনি অ্যাডবি শেল ব্যবহার করে ফোনে .apk কোনও বিকল্প পথে (বলুন / এসডিকার্ড / ডাউনলোড করুন) অনুলিপি করতে পারেন, তারপরে আপনি বিকল্প পথ থেকে একটি অ্যাডবি টান করতে পারেন।


3
গৃহীত উত্তর ( adb shell@ আইস এ এর ​​মন্তব্য থেকে প্রাপ্ত আদেশগুলি সহ ) অ্যান্ড্রয়েড 7.১.১ এ আমার জন্য দুর্দান্ত কাজ করেছে, মূল নয় not
জোনাথন কট্রিল

4
  1. আপনি আপনার ফোনে এপিপিটি বের করতে ইচ্ছুক অ্যাপটি খুলুন।
  2. এটির সাথে বর্তমানে খোলা অ্যাপটি পান:

    adb shell dumpsys activity activities | grep mFocusedActivity
  3. প্যাকেজ নামের পাথ পান

    adb shell pm path <packagename.apk>

৪. এসডিকার্ড ডিরেক্টরিতে আপনি যে পথটি পেয়েছেন তা অনুলিপি করুন

    adb shell cp /data/app/<packagename.apk> /sdcard

5.পিপিটি টানুন

    adb pull /sdcard/base.apk

সম্পাদন করা

2 নং পদক্ষেপ যদি এটি ব্যবহার না করে:

adb shell dumpsys window windows | grep mCurrentFocus

3

আপনি এটি কীভাবে করেন তা এখানে:

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

অ্যান্ড্রয়েডে এপিপি ফাইলগুলি কীভাবে নিষ্কাশন করতে হয় তার বিশদ বিবরণের জন্য , এখানে যান: http://appslova.com/how-to-extract-apk-files-in-android/


3

এই সমস্ত উত্তরের জন্য ডিভাইস থেকে পুনরুদ্ধার করা প্রতিটি APK ফাইলের জন্য একাধিক পদক্ষেপের প্রয়োজন। 1. প্যাকেজের নাম নির্ধারণ করুন, ২ ফাইলটি সন্ধান করুন এবং ৩ ডাউনলোড করুন। প্রদত্ত রেজেক্সের সাথে মেলে এমন অ্যাপ্লিকেশনের জন্য এটি করার জন্য আমি একটি সাধারণ apk_grabberঅজগর স্ক্রিপ্ট তৈরি করেছি এবং তারপরে সেই অ্যাপসটিকে জার ফাইলগুলিতে বিভক্ত করে।


1

আমি মোবাইল থেকে .apk ফাইলটি টানতে কোড ব্যবহার করি নি তবে আমি মোবাইল এবং সফটওয়্যার থেকে .apk ফাইলটি বের করার জন্য সফটওয়্যারটি ব্যবহার করেছি গুগল প্লে লিঙ্কের সাথে নীচে:

  1. ইএস ফাইল এক্সপ্লোরার ফাইল ম্যানেজার
  2. এস্ট্রো ক্লাউড এবং ফাইল ম্যানেজার ৩. সফ্টওয়্যার ডেটা কেবল

আশা করি এটি আপনাকে সহায়তা করবে।


2
আমি ইএস ফাইল এক্সপ্লোরার ব্যবহার করেছি। আমি শিকড় না। আমি কেবলমাত্র সরঞ্জামগুলি -> অ্যাপ ম্যানেজারে গিয়েছিলাম এবং অ্যাপটি আমি দীর্ঘসময় ধরে চাপিয়েছি যার জন্য এপিএকটি চেয়েছিলাম। এটি অ্যাপটি নির্বাচন করেছে (এবং আমাকে অন্যদের নির্বাচন করার অনুমতি দিয়েছে)। আমি মনে করি ভাগ করে নেওয়ার বোতামটি টিপুন এবং নিজেই APK টি পাঠাতে সক্ষম হয়েছি (পুশ বুলেট ব্যবহার করে, তবে কি কখনও আপনার জন্য কাজ করে)।
schultzter

আপনি যদি পচা না হন তবে আপনি অ্যাপ ব্যাকআপ চেষ্টা করে play.google.com/store/apps/details?id=mobi.infolife.appbackup
surhidamatya ২

1

খুব, খুব আরামদায়ক 1 মিনিটের সমাধান চান?

কেবলমাত্র আপনি এই অ্যাপ্লিকেশনটি https://play.google.com/store/apps/details?id=com.cvinfo.filemanager (গুগল প্লে থেকে স্মার্ট ফাইল ম্যানেজার)।

"অ্যাপস" এ আলতো চাপুন, একটি চয়ন করুন এবং "ব্যাকআপ" আলতো চাপুন। এটি app_backupফোল্ডারে আপনার ফাইল সিস্টেমে শেষ হবে ;)



1

আমি পেয়েছি একটি does not exist error

এখানে আমি এটি কার্যকরভাবে তৈরি করি

adb shell pm list packages -f | findstr zalo
package:/data/app/com.zing.zalo-1/base.apk=com.zing.zalo

adb shell
mido:/ $ cp /data/app/com.zing.zalo-1/base.apk /sdcard/zalo.apk
mido:/ $ exit


adb pull /sdcard/zalo.apk Desktop

/sdcard/zalo.apk: 1 file pulled. 7.7 MB/s (41895394 bytes in 5.200s)

0

তবুও আরেকটি বাশ স্ক্রিপ্ট (যেমন বেশিরভাগ ইউনিক্স-ভিত্তিক সিস্টেমের জন্য কাজ করবে)। পেড্রো রডরিগসের উত্তরের ভিত্তিতে , তবে এটি ব্যবহার করা কিছুটা সহজ।

পেড্রোর সংস্করণে উন্নতি:

  1. আসল পদ্ধতির অ্যান্ড্রয়েড 7 এ আমার পক্ষে কার্যকর হয়নি: কিছুক্ষণ adb pullঅভিযোগ করাতে no such file or directoryথাকলadb shell ফাইল অ্যাক্সেস করতে পারে। তাই আমি অস্থায়ী ফাইল সহ বিভিন্ন পদ্ধতির ব্যবহার করেছি।
  2. কোনও যুক্তি ছাড়াই চালু করা হলে, আমার স্ক্রিপ্টটি কেবলমাত্র সমস্ত উপলব্ধ প্যাকেজগুলি তালিকাভুক্ত করবে। আংশিক প্যাকেজের নাম সরবরাহ করা হলে, এটি সম্পূর্ণ প্যাকেজের নামটি অনুমান করার চেষ্টা করবে। এটি সম্ভাব্য বিভিন্ন বিস্তৃতি থাকলে অভিযোগ করবে।
  3. আমি গন্তব্য পথ হার্ডকোড করি না; পরিবর্তে APK টি বর্তমান কার্যনির্বাহী ডিরেক্টরিতে সংরক্ষিত হয়েছে।

এটি একটি সম্পাদনযোগ্য ফাইলে সংরক্ষণ করুন:

#!/bin/bash
# Obtain APK file for given package from the device connected over ADB

if [ -z "$1" ]; then
    echo "Available packages: "
    adb shell pm list packages | sed 's/^package://'
    echo "You must pass a package to this function!"
    echo "Ex.: android_pull_apk \"com.android.contacts\""
    exit 1
fi

fullname=$(adb shell pm list packages | sed 's/^package://' | grep $1)
if [ -z "$fullname" ]; then
    echo "Could not find package matching $1"
    exit 1
fi
if [ $(echo "$fullname" | wc -l) -ne 1 ]; then
    echo "Too many packages matched:"
    echo "$fullname"
    exit 1
fi
echo "Will fetch APK for package $fullname"

apk_path="`adb shell pm path $fullname | sed -e 's/package://g' | tr '\n' ' ' | tr -d '[:space:]'`"
apk_name="`basename ${apk_path} | tr '\n' ' ' | tr -d '[:space:]'`"

destination="${fullname}.apk"

tmp=$(mktemp --dry-run --tmpdir=/sdcard --suffix=.apk)
adb shell cp "${apk_path}" "$tmp"
adb pull "$tmp" "$destination"
adb shell rm "$tmp"

[ $? -eq 0 ] && echo -e "\nAPK saved in \"$destination\""

0

সহজতমটি হ'ল ফোনে "শেয়ারআইটি" অ্যাপ্লিকেশন ইনস্টল করুন। এখন পিসি বা অন্য ফোনে শেয়ারআইটি অ্যাপটি ইনস্টল করুন। এখন ফোন থেকে, যেখানে অ্যাপ্লিকেশন ইনস্টল করা আছে, সেয়ারটি খুলুন এবং প্রেরণ করুন। অন্য ফোন বা পিসিতে শেয়ারটি খুলুন এবং গ্রহণ করুন।


0

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

download-apk.pl

#!/usr/bin/perl -w
# Automatically export all available installed APK's using adb
use strict;
print "Connect your device...\n";
system("adb", "wait-for-device");
open(my $OUT, '-|', 'adb', 'shell', 'pm', 'list', 'package', '-f');
my @list = split(/\s*/, `adb shell pm list packages -f`);
my $count = 0;
while(my $line = <$OUT>) {
        $line =~ s/^\s*|\s*$//g;
        my ($type, $path, $package) = $line =~ /^(.*?):(.*)=(.*)$/ ? ($1,$2,$3) : die('invalid line: '.$line);
        my $category = $path =~ /^\/(.*?)\// ? $1 : 'unknown';
        my $baseFile = $path =~ /\/([^\/]*)$/ ? $1 : die('Unknown basefile in path: '.$path);
        my $targetFile = "$category-$package.apk";
        print "$type $category $path $package $baseFile >> $targetFile\n";
        system("adb", "pull", $path);
        rename $baseFile, $targetFile;
}
  1. নিশ্চিত হয়ে নিন যে অ্যাডবি (.exe) আপনার পথে বা একই ডিরেক্টরিতে রয়েছে
  2. আপনার ফোনটি সংযুক্ত করুন
  3. Download-apk.pl চালান

আউটপুট এর অনুরূপ কিছু:

# ./download-apk.pl
Connect your device...
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
package system /system/app/YouTube/YouTube.apk com.google.android.youtube YouTube.apk >> system-com.google.android.youtube.apk
5054 KB/s (11149871 bytes in 2.154s)
package data /data/app/com.ghostsq.commander-1/base.apk com.ghostsq.commander base.apk >> data-com.ghostsq.commander.apk
3834 KB/s (1091570 bytes in 0.278s)
package data /data/app/de.blinkt.openvpn-2/base.apk de.blinkt.openvpn base.apk >> data-de.blinkt.openvpn.apk
5608 KB/s (16739178 bytes in 2.914s)
etc.

-1

এটি এমন কারও পক্ষে সহায়তা করবে যে অ প্রযুক্তিগত উত্তর খুঁজছে

এটি সাধারণ হ্যাক

App Share/Send Proগুগল প্লে স্টোর থেকে অ্যাপ্লিকেশনটি ডাউনলোড করুন । আপনি যে অ্যাপটি প্রেরণ করতে চান সেটি নির্বাচন করুন এবং পদ্ধতি প্রেরণ অ্যাপ্লিকেশন।

আমি সাধারণত আমার পিসি বা অন্য কোনও ফোনে অ্যাপ্লিকেশনগুলি প্রেরণ করতে ব্লুটুথ ব্যবহার করি।


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