আমি কীভাবে একটি অ্যান্ড্রয়েড ডিভাইস থেকে APK ফাইল পাব? বা আমি কীভাবে APK ফাইলটি ডিভাইস থেকে সিস্টেমে স্থানান্তর করব?
আমি কীভাবে একটি অ্যান্ড্রয়েড ডিভাইস থেকে APK ফাইল পাব? বা আমি কীভাবে APK ফাইলটি ডিভাইস থেকে সিস্টেমে স্থানান্তর করব?
উত্তর:
অ্যাডবি ব্যবহার করুন । সঙ্গে এডিবি খিঁচ আপনি ফাইল আপনার ডিভাইস থেকে আপনার সিস্টেম থেকে, যখন ডিভাইসটি ইউএসবি সঙ্গে সংযুক্ত করা হয় অনুলিপি করতে পারবেন।
অবশ্যই আপনার ফাইলটি যে ডিরেক্টরিতে রয়েছে সেগুলি অ্যাক্সেস করার জন্য আপনার সঠিক অনুমতিও দরকার 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!
(ব্যবহারকারীরা অ্যাডবি শেল পিএম তালিকা ব্যবহারকারীদের দেখেন) এটি মুছে ফেলার / আনইনস্টল করার উপায় (ফোন থেকে ফ্যাক্টরি রিসেটের সাথে ফিরে আসে না) সিস্টেম অ্যাপ্লিকেশন অন্তর্ভুক্ত প্রায় কোনও অ্যাপ্লিকেশন (বিরক্তিকর আপডেট অ্যাপ্লিকেশনটি ইঙ্গিত করে যা আপনার ফোন আপডেট করে এটি লাইন করুন বা "সিসিসি" এর জন্য গ্রেপিংয়ের মাধ্যমে পাওয়া যাবে না)
adb shell pm list packages
এবং তার সম্পূর্ণ পথটি adb shell pm path your.package.name
আপনার পিসি থেকে প্রথমে দেখে পুরো পাথটি সন্ধান করুন , আপনি সহজেই করতে পারেনadb pull /full/path/to/your.apk
এই প্রস্তাবগুলির কোনোটাই আমার পক্ষে কাজ করেনি, কারণ চূড়ান্ত এপিএল ফাইলের নাম উত্পাদন করতে অ্যান্ড্রয়েড প্যাকেজের নামে একটি ক্রম নম্বর যুক্ত করেছিল 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
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 আরও তথ্যের জন্য। সম্পাদনা: সবেমাত্র লক্ষ্য করা গেছে যে নীচের উত্তরটি এটি বলেছে, তবে উত্তরটি এইটির মতো প্রায় উত্সাহিত নয়।
adb: error: remote object '/data/app/path.of.the.app-2/base.apk' does not exist
। যদি আমি এই ফোল্ডারগুলিকে কোনও ফাইল ব্রাউজার দিয়ে ব্রাউজ করি তবে ফোল্ডারগুলি খালি রয়েছে।
adb shell
এবং তারপরে cp PathToApk /sdcard/
এবং তারপর এসডিকার্ড থেকে অনুলিপি করে এটি ঠিক করেছি ।
কোন মূল প্রয়োজন:
এই কোডটি নামের সাথে তৃতীয় পক্ষের প্যাকেজ পাথগুলি পাবে যাতে আপনি সহজেই আপনার 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:>\
, তবে আপনি সেই প্যাকেজটি সেখানে পাবেন।
-f -s
পরিবর্তে-f -3
আমি দেখেছি যে এই সমস্যার অনেকগুলি সমাধান আপনার হয় আপনার ফোনটি রুট করতে হবে বা আপনাকে একটি অ্যাপ ইনস্টল করতে হবে। তারপরে অনেকগুলি গুগল করার পরে আমি নন-রুট / রুটেড ফোনগুলির জন্য এই সমাধানটি পেয়েছি ।
আপনি এতক্ষণে কোন অ্যাপ্লিকেশন পেয়েছেন তা তালিকাভুক্ত করতে।
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
এটির পরে আপনাকে যা করতে হবে তা হ'ল টার সামগ্রীগুলি বের করা এবং এটি হয়ে গেছে।
আশা করি এটি আপনার জন্য কাজ করে
ডিভাইস থেকে ডেস্কটপ থেকে 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/
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)
একটি লাইনার যা সমস্ত অ্যান্ড্রয়েড সংস্করণগুলির জন্য কাজ করে:
adb shell 'cat `pm path com.example.name | cut -d':' -f2`' > app.apk
@ যোজিম্বোর উত্তর সম্পূর্ণ করা, আমি এটিই করেছি (লিনাক্স / ম্যাক কেবল উইন্ডোজের বাক্স থেকে বেরিয়ে আসবে না ... সম্ভবত গিটের ব্যাশ শেলের মধ্যে):
for i in $(adb shell pm list packages -f -3 | cut -d= -f 1 | cut -d ":" -f 2); do adb pull $i; done
এটি কুৎসিত বাশ, কিন্তু কাজ করে :)
সম্পাদনা: এটি আর অ্যান্ড্রয়েডএম এ কাজ করে না: সমস্ত ফাইলের নাম দেওয়া হয়েছে "বেস.এপকে" অন্য ডিয়ারের অধীনে। ঠিক করার জন্য "তুচ্ছ" হওয়া উচিত।
ইউনিক্স সিস্টেমে আপনি এই ফাংশনটি ব্যবহার করে দেখতে পারেন:
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
উপরে যেমন বলা হয়েছে, আপনি এডিবি-তে পুল কমান্ডটি ব্যবহার করে এপিপি পেতে পারেন।
যেহেতু, আপনি আপনার ইনস্টল করা অ্যাপ্লিকেশনগুলি সম্পর্কে কথা বলছেন, এগিয়ে যান এবং / ডেটা / অ্যাপ্লিকেশনটিতে সন্ধান করুন আপনার অ্যান্ড্রয়েড ফাইল সিস্টেমের ডিরেক্টরিটি দেখুন। আপনি সেখানে APK পাবেন।
তারপরে অ্যাডবি কমান্ডটি ব্যবহার করুন - অ্যাডবি টান / ডেটা / ডেটা / অ্যাপনেম.এপকে
আপনার সমস্ত অ্যাপ্লিকেশন ব্যাকআপ করতে এই একটি লাইনার বাশ কমান্ডটি ব্যবহার করে দেখুন:
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
বিকল্পটি বাদ দিন ।
যদি আপনি জানেন (বা যদি আপনি "অনুমান" করতে পারেন) এর পথটি .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
ফাইলটি দিয়ে কিছু করার চেষ্টা করার সময় এটি আপনার জীবনকে আরও সহজ করে তোলে ।
এখানে বর্ণিত পদ্ধতিগুলি অ্যান্ড্রয়েড 7 (নওগাত) [এবং সম্ভবত অ্যান্ড্রয়েড 6 এর জন্য কাজ করে না, তবে আমি যাচাই করতে অক্ষম]। আপনি .apk ফাইলগুলি সরাসরি নওগাতের অধীনে টানতে পারবেন না (রুট মোডে না থাকলেও তবে এর জন্য একটি রুট ফোন প্রয়োজন)। তবে, আপনি অ্যাডবি শেল ব্যবহার করে ফোনে .apk কোনও বিকল্প পথে (বলুন / এসডিকার্ড / ডাউনলোড করুন) অনুলিপি করতে পারেন, তারপরে আপনি বিকল্প পথ থেকে একটি অ্যাডবি টান করতে পারেন।
adb shell
@ আইস এ এর মন্তব্য থেকে প্রাপ্ত আদেশগুলি সহ ) অ্যান্ড্রয়েড 7.১.১ এ আমার জন্য দুর্দান্ত কাজ করেছে, মূল নয় not
এটির সাথে বর্তমানে খোলা অ্যাপটি পান:
adb shell dumpsys activity activities | grep mFocusedActivity
প্যাকেজ নামের পাথ পান
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
আপনি এটি কীভাবে করেন তা এখানে:
আপনার ডিভাইসে APK এক্সট্রাক্টর ডাউনলোড এবং ইনস্টল করুন। এটি নিখরচায় এবং অ্যান্ড্রয়েড ডিভাইসের প্রায় সব ক্ষেত্রেই উপযুক্ত। আরেকটি প্লাস পয়েন্ট হ'ল এটিকে এমনকি কাজ করতে মূল বা কিছু প্রয়োজন হয় না। এটি ইনস্টল করার পরে, এটি চালু করুন। সেখানে আপনি আপনার অ্যাপ্লিকেশনগুলির একটি তালিকা দেখতে পাবেন যা আপনার ডিভাইসে রয়েছে, এতে সিস্টেম অ্যাপ্লিকেশন সহ আপনি পরে ইনস্টল করা অ্যাপ্লিকেশনগুলি অন্তর্ভুক্ত রয়েছে। আপনি যে কোনও অ্যাপ্লিকেশনটি বের করতে চান দীর্ঘক্ষণ টিপুন (আপনি একসাথে একাধিক বা সমস্ত অ্যাপ্লিকেশন নির্বাচন করতে পারেন) এবং উপরের অংশে দেখতে পাওয়া এক্সট্রাক্ট বিকল্পটিতে ক্লিক করুন। আপনার কাছে ব্লুটুথ বা বার্তাপ্রেরণের মাধ্যমে ভাগ করার বিকল্প থাকবে। আপনি সম্পন্ন হয়ে গেছেন, আপনি এক্সট্রাক্ট করা অ্যাপ্লিকেশনগুলিকে AppName_appPackage_appVersionName_appVersionCode.apk হিসাবে দেখতে পাবেন, যা ডিফল্টরূপে / এসডিকার্ড / এক্সট্র্যাক্টঅ্যাপস / পাথে সংরক্ষণ করা হবে।
অ্যান্ড্রয়েডে এপিপি ফাইলগুলি কীভাবে নিষ্কাশন করতে হয় তার বিশদ বিবরণের জন্য , এখানে যান: http://appslova.com/how-to-extract-apk-files-in-android/
এই সমস্ত উত্তরের জন্য ডিভাইস থেকে পুনরুদ্ধার করা প্রতিটি APK ফাইলের জন্য একাধিক পদক্ষেপের প্রয়োজন। 1. প্যাকেজের নাম নির্ধারণ করুন, ২ ফাইলটি সন্ধান করুন এবং ৩ ডাউনলোড করুন। প্রদত্ত রেজেক্সের সাথে মেলে এমন অ্যাপ্লিকেশনের জন্য এটি করার জন্য আমি একটি সাধারণ apk_grabber
অজগর স্ক্রিপ্ট তৈরি করেছি এবং তারপরে সেই অ্যাপসটিকে জার ফাইলগুলিতে বিভক্ত করে।
আমি মোবাইল থেকে .apk ফাইলটি টানতে কোড ব্যবহার করি নি তবে আমি মোবাইল এবং সফটওয়্যার থেকে .apk ফাইলটি বের করার জন্য সফটওয়্যারটি ব্যবহার করেছি গুগল প্লে লিঙ্কের সাথে নীচে:
আশা করি এটি আপনাকে সহায়তা করবে।
খুব, খুব আরামদায়ক 1 মিনিটের সমাধান চান?
কেবলমাত্র আপনি এই অ্যাপ্লিকেশনটি https://play.google.com/store/apps/details?id=com.cvinfo.filemanager (গুগল প্লে থেকে স্মার্ট ফাইল ম্যানেজার)।
"অ্যাপস" এ আলতো চাপুন, একটি চয়ন করুন এবং "ব্যাকআপ" আলতো চাপুন। এটি app_backup
ফোল্ডারে আপনার ফাইল সিস্টেমে শেষ হবে ;)
কোনও রুট এবং কোনও এডিবি সরঞ্জাম প্রয়োজন নেই। প্লে স্টোর থেকে মাই অ্যাপশারার অ্যাপ্লিকেশন ইনস্টল করুন ।
আমি পেয়েছি একটি 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)
তবুও আরেকটি বাশ স্ক্রিপ্ট (যেমন বেশিরভাগ ইউনিক্স-ভিত্তিক সিস্টেমের জন্য কাজ করবে)। পেড্রো রডরিগসের উত্তরের ভিত্তিতে , তবে এটি ব্যবহার করা কিছুটা সহজ।
পেড্রোর সংস্করণে উন্নতি:
adb pull
অভিযোগ করাতে no such file or directory
থাকলadb shell
ফাইল অ্যাক্সেস করতে পারে। তাই আমি অস্থায়ী ফাইল সহ বিভিন্ন পদ্ধতির ব্যবহার করেছি।এটি একটি সম্পাদনযোগ্য ফাইলে সংরক্ষণ করুন:
#!/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\""
আমি এই সমস্ত উত্তর সত্যিই পছন্দ করেছি। এগুলির সমস্ত রফতানি ও পুনর্নবীকরণের বেশিরভাগ স্ক্রিপ্টগুলি বাশে লেখা ছিল। আমি একটি ছোট পার্ল স্ক্রিপ্ট তৈরি করেছি যা একই রকম হয় (যা উইন্ডো এবং লিনাক্সের জন্য পার্ল উভয়ই কাজ করা উচিত, কেবল উবুন্টুতে পরীক্ষিত)।
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;
}
আউটপুট এর অনুরূপ কিছু:
# ./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.
এটি এমন কারও পক্ষে সহায়তা করবে যে অ প্রযুক্তিগত উত্তর খুঁজছে
এটি সাধারণ হ্যাক
App Share/Send Pro
গুগল প্লে স্টোর থেকে অ্যাপ্লিকেশনটি ডাউনলোড করুন । আপনি যে অ্যাপটি প্রেরণ করতে চান সেটি নির্বাচন করুন এবং পদ্ধতি প্রেরণ অ্যাপ্লিকেশন।
আমি সাধারণত আমার পিসি বা অন্য কোনও ফোনে অ্যাপ্লিকেশনগুলি প্রেরণ করতে ব্লুটুথ ব্যবহার করি।