如何从android设备获取apk文件?或者如何将apk文件从设备传输到系统?
当前回答
如上所述,您可以通过使用adb中的pull命令来获得apk。
由于您正在讨论已安装的应用程序,请继续查看Android文件系统的/data/app目录。你会在那里找到APK。
然后使用adb命令- adb pull /data/data/appname.apk
其他回答
我没有使用代码从移动设备中提取。apk文件,但我一直在使用软件从移动设备中提取。apk文件,我使用的软件如下:谷歌播放链接:
ES文件管理器文件管理器 ASTRO云和文件管理器 3.软件数据线
希望它能帮助你。
最简单的是: 在手机上安装“ShareIt”应用。 现在在PC或其他手机上安装shareIt应用程序。 现在,在安装了应用程序的手机上,打开ShareIt并发送。 在其他手机或电脑上打开ShareIt并接收。
你可以这样做:
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/
完成@Yojimbo的回答,这是我所做的(只适用于Linux/Mac,不会在Windows上开箱工作……可能在git的bash shell中):
for i in $(adb shell pm list packages -f -3 | cut -d= -f 1 | cut -d ":" -f 2); do adb pull $i; done
这是一个丑陋的bash,但工作:)
编辑: 它不再适用于AndroidM:所有文件都命名为“base.apk”在另一个目录下。应该是“微不足道的”修复。
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/
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件