如何从android设备获取apk文件?或者如何将apk文件从设备传输到系统?


当前回答

这里列出的程序不适用于Android 7 (Nougat)[可能也不适用于Android 6,但我无法验证]。你不能直接在Nougat下拉。apk文件(除非在根模式下,但这需要一个根手机)。但是,您可以使用adb shell将.apk复制到电话上的备用路径(例如/sdcard/Download),然后您可以从备用路径进行adb拉取。

其他回答

不需要root:

这段代码将获得第三方包的路径和名称,以便您可以轻松识别您的APK

adb shell pm list packages -f -3

输出将是

包:/ / app / XX.XX.XX.apk = YY.YY.YY数据

现在使用下面的代码拉出这个包:

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

如果你在C:>\中执行上面的cmd命令,那么你会在那里找到这个包。

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/

你可以这样做:

Download and install APK Extractor in your device. It is free, and is compatible in almost all of the Android devices. Another plus point is it does not even require root or anything to work. After you have it installed, launch it. There you will see a list of apps which are in your device, which include the apps you’ve installed later, along with the system apps. Long press any app you want to extract (you can select multiple or all apps at once), and click on the extract option you see in the top. You will also have the option to share via Bluetooth or messaging. You’re done, you will see the extracted apps as AppName_AppPackage_AppVersionName_AppVersionCode.apk, which will be saved in the path /sdcard/ExtractedApks/ by default.

android中如何提取apk文件的详细说明,请访问:http://appslova.com/how-to-extract-apk-files-in-android/

打开你想从你的手机上提取apk的应用程序。 获取当前打开的应用程序: adb shell dump活动活动| 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

Edit

如果第2步不起作用,使用以下方法:

adb shell dumpsys window windows | grep mCurrentFocus

我得到了一个不存在的错误

我是这么做的

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)