ฉันจะรับไฟล์ apk จากอุปกรณ์ android ได้อย่างไร หรือฉันจะถ่ายโอนไฟล์ apk จากอุปกรณ์ไปยังระบบได้อย่างไร?
ฉันจะรับไฟล์ apk จากอุปกรณ์ android ได้อย่างไร หรือฉันจะถ่ายโอนไฟล์ apk จากอุปกรณ์ไปยังระบบได้อย่างไร?
คำตอบ:
ใช้adb ด้วยadb pull คุณสามารถคัดลอกไฟล์จากอุปกรณ์ไปยังระบบของคุณเมื่ออุปกรณ์นั้นเชื่อมต่อกับ USB
แน่นอนคุณต้องมีสิทธิ์ที่ถูกต้องในการเข้าถึงไดเรกทอรีไฟล์ของคุณถ้าไม่คุณจะต้องรูทอุปกรณ์ก่อน
หากคุณพบว่า APK หลาย ๆ ชื่อมีชื่อว่า "base.apk" คุณสามารถใช้คำสั่งบรรทัดเดียวนี้เพื่อดึง APK ทั้งหมดออกจากโทรศัพท์คุณสามารถเข้าถึงได้ในขณะที่เปลี่ยนชื่อ "base.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
หากคุณได้รับ "adb: error: ล้มเหลวในการ stat วัตถุระยะไกล" ที่ระบุว่าคุณไม่มีสิทธิ์ที่จำเป็น ฉันใช้งาน Moto Z2 ที่ไม่รูทและสามารถดาวน์โหลด APK ทั้งหมดที่ฉันไม่ได้ถอนการติดตั้ง (ดูด้านล่าง) ยกเว้น youtube
adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver <--- kills presidential alert app!
(เพื่อดูผู้ใช้เรียกใช้ผู้ใช้รายการ adb shell pm) นี่เป็นวิธีลบ / ถอนการติดตั้ง (ไม่ใช่จากโทรศัพท์เมื่อกลับมาพร้อมการรีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน) เกือบทุกแอพโดยไม่ต้องรูทแอประบบรวมถึงแอพ เรียงแถวหรือไม่สามารถพบได้โดย grepping สำหรับ "ccc")
adb shell pm list packages
ก่อนและเส้นทางแบบเต็มadb shell pm path your.package.name
จากพีซีของคุณคุณสามารถทำได้ง่ายๆadb pull /full/path/to/your.apk
คำแนะนำเหล่านี้ไม่ได้ผลสำหรับฉันเพราะ Android กำลังต่อท้ายหมายเลขลำดับกับชื่อแพ็กเกจเพื่อสร้างชื่อไฟล์ APK สุดท้าย บน Android เวอร์ชันล่าสุด (Oreo and Pie) สตริงแบบสุ่มที่คาดเดาไม่ได้จะถูกต่อท้าย ลำดับของคำสั่งต่อไปนี้เป็นสิ่งที่ใช้ได้กับฉันบนอุปกรณ์ที่ไม่ได้รูท :
1) กำหนดชื่อแพ็คเกจของแอปเช่น "com.example.someapp" ข้ามขั้นตอนนี้หากคุณรู้ชื่อแพ็คเกจแล้ว
adb shell pm list packages
ดูรายชื่อแพคเกจแล้วลองค้นหาคู่ที่ตรงกันระหว่างแอพที่เป็นปัญหาและชื่อแพ็คเกจ โดยปกติจะเป็นเรื่องง่าย แต่โปรดทราบว่าชื่อแพคเกจอาจไม่เกี่ยวข้องกับชื่อแอปอย่างสมบูรณ์ หากคุณไม่รู้จักแอพจากรายชื่อแพ็คเกจลองค้นหาแอปใน Google Play โดยใช้เบราว์เซอร์ URL สำหรับแอปใน Google Play มีชื่อแพ็คเกจ
2) รับชื่อพา ธ เต็มของไฟล์ APK สำหรับแพ็คเกจที่ต้องการ
adb shell pm path com.example.someapp
ผลลัพธ์จะมีลักษณะดังนี้
แพ็กเกจ: /data/app/com.example.someapp-2.apk
หรือ
แพ็คเกจ: /data/app/com.example.someapp-nfFSVxn_CTafgra3Fr_rXQ == / base.apk
3) ใช้ชื่อเส้นทางแบบเต็มจากขั้นตอนที่ 2 ดึงไฟล์ APK จากอุปกรณ์ Android ไปยังกล่องพัฒนา
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
สำหรับคุณเช่น ความช่วยเหลือในตัว pm นั้นไม่มีประโยชน์ แต่ pm สามารถกรองประเภทของแพ็คเกจได้ด้วยดูที่developer.android.com/studio/command-line/adb.html#pmสำหรับข้อมูลเพิ่มเติม แก้ไข: เพิ่งสังเกตเห็นว่าคำตอบด้านล่างพูดถึงสิ่งนี้ แต่คำตอบนั้นไม่ได้ใกล้เคียงกับ upvoted ดังเช่นนี้
adb: error: remote object '/data/app/path.of.the.app-2/base.apk' does not exist
. หากฉันเรียกดูโฟลเดอร์เหล่านี้ด้วยเบราว์เซอร์ไฟล์โฟลเดอร์จะว่างเปล่า
adb shell
แล้วcp PathToApk /sdcard/
และจากนั้นคัดลอกจาก 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
หากคุณดำเนินการข้างต้น cmd ในC:>\
แล้วคุณจะพบว่ามีแพคเกจ
-f -s
แทน-f -3
ฉันได้เห็นแล้วว่าวิธีการแก้ไขปัญหานี้มากมายคุณต้องรูทโทรศัพท์หรือติดตั้งแอพ หลังจาก googling มากฉันได้รับการแก้ปัญหานี้สำหรับโทรศัพท์ที่ไม่ได้รูท / รูท
เพื่อแสดงรายการแอพที่คุณได้รับ
adb shell pm list packages
จากนั้นคุณสามารถเลือกแอพเช่น twitter
adb backup -apk com.twitter.android
สิ่งสำคัญที่นี่คือการไม่ตั้งรหัสผ่านสำหรับเข้ารหัสข้อมูลสำรองของคุณ
นี่จะเป็นการสร้างไฟล์ที่ชื่อว่า backup.ap แต่คุณยังไม่สามารถเปิดได้ สำหรับสิ่งนี้คุณจะต้องแยกมันอีกครั้ง แต่ใช้คำสั่ง dd
dd if=backup.ab bs=24 skip=1 | openssl zlib -d > backup.tar
หลังจากนี้สิ่งที่คุณต้องทำคือการแยกเนื้อหา tar และมันทำ
หวังว่ามันจะใช้ได้ผลสำหรับพวกคุณ
ขั้นตอนในการดาวน์โหลด APK จากอุปกรณ์ไปยังเดสก์ท็อป
A)ตรวจสอบให้แน่ใจว่าการทำงานของคุณ (อุปกรณ์จำลอง / อุปกรณ์จริง) เพื่อตรวจสอบใช้คำสั่งนี้
adb devices
B)เลือกรายการแพ็คเกจทั้งหมดที่ติดตั้งในอุปกรณ์ของคุณ คุณสามารถใช้คำสั่ง grep เพื่อเลือกแพ็คเกจที่คุณต้องการดาวน์โหลด
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
C)คัดลอกแพ็คเกจ (ที่คุณต้องการดาวน์โหลด) จากลิงค์ด้านบน แบบฟอร์มกรณีของเราฉันเลือกแพคเกจนี้ (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
D)สุดท้ายดาวน์โหลด 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 นี้ในเครื่องคอมพิวเตอร์ของคุณ (Mac)
adb pull /system/app/CertInstaller/CertInstaller.apk /Users/$(whoami)/Documents/APK/download_apk/
E)ยืนยันในไดเรกทอรีท้องถิ่นของคุณ
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)
สายการบินเดียวที่ใช้ได้กับ Android ทุกรุ่น:
adb shell 'cat `pm path com.example.name | cut -d':' -f2`' > app.apk
ทำตามคำตอบของ @Yojimbo นี่คือสิ่งที่ฉันทำ (Linux / Mac เท่านั้นจะไม่ทำงานนอกกรอบบน Windows ... อาจจะอยู่ใน bash shell ของ git):
for i in $(adb shell pm list packages -f -3 | cut -d= -f 1 | cut -d ":" -f 2); do adb pull $i; done
นี่คือทุบตีน่าเกลียด แต่ใช้งานได้ :)
แก้ไข: มันไม่ทำงานบน AndroidM: ไฟล์ทั้งหมดมีชื่อว่า "base.apk" ภายใต้ dir อื่น ควร "แก้ไข" เล็กน้อยเพื่อแก้ไข
บนระบบยูนิกซ์คุณสามารถลองใช้ฟังก์ชันนี้:
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 โดยใช้คำสั่ง pull ใน adb
เนื่องจากคุณกำลังพูดถึงแอปพลิเคชันที่ติดตั้งของคุณให้ไปข้างหน้าและดูในไดเรกทอรี/ data / appของระบบไฟล์ Android ของคุณ คุณจะพบ APK ของที่นั่น
จากนั้นใช้คำสั่ง adb - adb pull /data/data/appname.apk
ลองใช้คำสั่ง liner bash นี้เพื่อสำรองข้อมูลแอพทั้งหมดของคุณ:
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
คำสั่งนี้ได้มาจากสคริปต์ของจ้าว ฉันเพิ่งเปลี่ยนชื่อ apks ทั้งหมดเป็นชื่อแพ็คเกจเพื่อแก้ไขปัญหาด้วยสคริปต์ของ elcucoเช่นเดียวกันbase.apk
ไฟล์เขียนทับบน Android 6.0 "Marshmallow" และสูงกว่า
โปรดทราบว่าคำสั่งนี้สำรองเฉพาะแอพของบุคคลที่สามเพราะฉันไม่เห็นจุดที่ทำการสำรองแอพในตัว แต่ถ้าคุณต้องการแอพระบบสำรองข้อมูลก็ไม่ต้อง-3
เลือกตัวเลือก
หากคุณรู้ (หรือถ้าคุณสามารถ "เดา") เส้นทางไปที่.apk
( ดูเหมือนว่าจะเป็นรูปแบบ/data/app/com.example.someapp-{1,2,..}.apk
ไปแล้วคุณก็สามารถคัดลอกมาได้/data/app
เช่นกันสิ่งนี้ใช้ได้แม้ในโทรศัพท์ Android ที่ไม่มีรูทของฉัน
เพียงใช้แอป Terminal Emulator (เช่นอันนี้ ) และเรียกใช้:
# 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/
จากนั้นคุณสามารถย้ายจากการ์ด SD ไปที่ใดก็ได้ที่คุณต้องการ (หรือแนบไปกับอีเมล ฯลฯ ) บิตสุดท้ายอาจเป็นตัวเลือกทางเทคนิค แต่มันทำให้ชีวิตของคุณง่ายขึ้นมากเมื่อพยายามทำบางสิ่งกับ.apk
ไฟล์
ขั้นตอนที่อธิบายไว้ที่นี่ไม่ทำงานสำหรับ Android 7 (Nougat) [และอาจเป็น Android 6 แต่ฉันไม่สามารถยืนยันได้] คุณไม่สามารถดึงไฟล์. apk ได้โดยตรงภายใต้ Nougat (ยกเว้นในโหมดรูท แต่ต้องใช้โทรศัพท์ที่รูท) แต่คุณสามารถคัดลอก. apk ไปยังเส้นทางสำรอง (พูด / sdcard / ดาวน์โหลด) บนโทรศัพท์โดยใช้เชลล์ adb จากนั้นคุณสามารถดึง adb จากเส้นทางสำรอง
adb shell
คำสั่งจากความคิดเห็นของ @Isa A) ทำงานได้ดีสำหรับฉันใน Android 7.1.1 ไม่ใช่รูท
รับแอปที่เปิดอยู่ในปัจจุบันด้วย:
adb shell dumpsys activity activities | grep mFocusedActivity
รับพา ธ ไปยังชื่อแพ็กเกจ
adb shell pm path <packagename.apk>
4. คัดลอกเส้นทางที่คุณไปยังไดเรกทอรี sdcard
adb shell cp /data/app/<packagename.apk> /sdcard
5. กรอก apk
adb pull /sdcard/base.apk
แก้ไข
หากขั้นตอนที่ 2 ไม่สามารถใช้งานได้:
adb shell dumpsys window windows | grep mCurrentFocus
นี่คือวิธีที่คุณทำ:
ดาวน์โหลดและติดตั้ง APK Extractor ในอุปกรณ์ของคุณ ฟรีและเข้ากันได้กับอุปกรณ์ Android เกือบทั้งหมด อีกจุดบวกคือมันไม่จำเป็นต้องมีรากหรืออะไรที่จะทำงาน หลังจากติดตั้งแล้วให้เปิดใช้งาน ที่นั่นคุณจะเห็นรายการแอพที่อยู่ในอุปกรณ์ของคุณซึ่งรวมถึงแอพที่คุณติดตั้งในภายหลังพร้อมกับแอพระบบ กดแอพใด ๆ ที่คุณต้องการแยกออก (คุณสามารถเลือกหลายแอพหรือทั้งหมดพร้อมกัน) และคลิกที่ตัวเลือกการแยกที่คุณเห็นในด้านบน คุณจะมีตัวเลือกให้แชร์ผ่านบลูทู ธ หรือการส่งข้อความ คุณทำเสร็จแล้วคุณจะเห็นแอปที่แยกเป็น AppName_AppPackage_AppVersionName_AppVersionCode.apk ซึ่งจะถูกบันทึกในพา ธ / sdcard / ExtractedApks / โดยค่าเริ่มต้น
สำหรับคำอธิบายโดยละเอียดเกี่ยวกับวิธีแยกไฟล์ apk ใน Androidโปรดไปที่: http://appslova.com/how-to-extract-apk-files-in-android/
คำตอบทั้งหมดเหล่านี้ต้องการขั้นตอนหลายขั้นตอนสำหรับไฟล์ apk แต่ละไฟล์ที่ดึงมาจากอุปกรณ์ 1. กำหนดชื่อแพ็คเกจ 2. ค้นหาไฟล์และ 3. ดาวน์โหลด ฉันสร้างapk_grabber
สคริปต์ pythonง่าย ๆเพื่อทำสิ่งนี้สำหรับแอพใด ๆ ที่ตรงกับ regex ที่ระบุ
ฉันไม่ได้ใช้รหัสเพื่อดึงไฟล์. apk จากมือถือ แต่ฉันใช้ซอฟต์แวร์เพื่อแยกไฟล์. apk จากมือถือและซอฟต์แวร์ที่ฉันใช้อยู่ด้านล่างด้วยลิงค์ Google Play:
หวังว่ามันจะช่วยคุณ
ต้องการมากวิธีแก้ปัญหาที่สะดวกสบายมาก 1 นาที?
เพียงแค่คุณแอปนี้https://play.google.com/store/apps/details?id=com.cvinfo.filemanager (ตัวจัดการไฟล์อัจฉริยะจาก google play)
แตะที่ "แอพ" เลือกหนึ่งอันแล้วแตะ "สำรอง" มันจะจบลงที่ระบบไฟล์ของคุณในapp_backup
โฟลเดอร์;)
ไม่มีวิธีการรูทและไม่มีเครื่องมือของ ADB ติดตั้งแอพMyAppSharerจาก play store
ฉันได้รับ 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)
อีกสคริปต์ทุบตี (เช่นจะทำงานสำหรับระบบที่ใช้ระบบปฏิบัติการยูนิกซ์) ขึ้นอยู่กับคำตอบของ Pedro Rodriguesแต่ใช้งานได้ง่ายกว่าเล็กน้อย
ปรับปรุงเวอร์ชั่นของ Pedro:
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\""
สิ่งที่ง่ายที่สุดคือติดตั้งแอพ "ShareIt" บนโทรศัพท์ ตอนนี้ติดตั้งแอพ shareIt ในพีซีหรือโทรศัพท์อื่น ตอนนี้จากโทรศัพท์ที่ติดตั้งแอพเปิด ShareIt แล้วส่ง บนโทรศัพท์หรือพีซีเครื่องอื่นเปิด ShareIt และรับ
ฉันชอบคำตอบทั้งหมดเหล่านี้จริงๆ สคริปต์ส่วนใหญ่เพื่อส่งออกและเปลี่ยนชื่อทั้งหมดถูกเขียนเป็น Bash ฉันทำสคริปต์ Perl ขนาดเล็กซึ่งทำเช่นเดียวกัน (ซึ่งควรทำงานได้ทั้งใน Perl สำหรับ windows และ linux ทดสอบบน Ubuntu เท่านั้น)
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
จาก google play store เลือกแอพที่คุณต้องการส่งและวิธีส่งแอปพลิเคชัน
ฉันมักจะใช้บลูทู ธ เพื่อส่งแอปพลิเคชั่นไปยังพีซีหรือโทรศัพท์อื่น