如何从android设备获取apk文件?或者如何将apk文件从设备传输到系统?
当前回答
如果你知道(或者你能“猜”到)。apk的路径(它的格式似乎是/data/app/com.example.someapp-{1,2,..}.apk to),那么你也可以从/data/app中复制它。这个功能甚至在我的非根安卓手机上也能运行。
只需使用终端模拟器应用程序(比如这个)并运行:
# 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文件时更加轻松。
其他回答
想要非常非常舒服的一分钟解决方案吗?
只需你这个应用程序https://play.google.com/store/apps/details?id=com.cvinfo.filemanager(智能文件管理器从谷歌发挥)。
点击“应用程序”,选择一个,然后点击“备份”。它将在你的文件系统的app_backup文件夹;)
在unix系统上,您可以尝试这个函数:
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列表包
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/
不需要Root和ADB工具的方法。 从游戏商店安装MyAppSharer应用程序。
最简单的是: 在手机上安装“ShareIt”应用。 现在在PC或其他手机上安装shareIt应用程序。 现在,在安装了应用程序的手机上,打开ShareIt并发送。 在其他手机或电脑上打开ShareIt并接收。
推荐文章
- ImageView -有高度匹配宽度?
- 如何确定在android文件的MIME类型?
- 这是在Android中获取用户位置的好方法
- Android从左到右幻灯片动画
- 如何检索视图的维度?
- 如何改变菜单项的文本颜色在安卓?
- Android选择器和文本颜色
- 视图绑定-我如何获得包含布局的绑定?
- 在Android Studio中改变矢量资产的填充颜色
- 在构建中编写注释的语法是什么?gradle文件?
- 如何以编程方式添加按钮色调
- 用Android Studio进行调试永远停留在“等待调试器”状态
- Openssl不被视为内部或外部命令
- 无法执行dex:在Eclipse中超过GC开销限制
- 如何以编程方式将视图添加到视图