android - 如何将应用程序从手机移动到 android Studio?
问题描述
我的一个朋友用我的手机测试了他在 android studio 中创建的应用程序。长话短说,该应用程序仍在我的手机上,我试图弄清楚如何从我的手机中获取该应用程序并将其导出到 Android Studio,以便我可以自己摆弄它。我已经问过我的朋友该怎么做,他说他在上面找不到任何东西,所以我认为将这种情况告诉你们这些好人会更明智。
解决方案
在某些情况下,可能可以从手机中提取 APK(已编译的应用程序文件),但无法将其导入 Android Studio。
该应用程序以编译状态存在于手机上,而不是作为 Studio 项目。
有一些工具可以反编译 Android 应用程序,但是如果您将它一直反编译到 Java 级别,它可能无法编译回来。
如果您将应用程序反编译为smali,则可以进行一些小的调整,这类似于汇编,但更易于阅读。
从手机中提取APK有两种方法:
- 如果您的手机已root,您可以使用RootExplorere 之类的应用程序,或者您可以使用以root 模式运行的ADB 将APK 拉到PC 上。
利用:
adb shell pm path app.package.name
找出 APK 的存储位置,然后使用:
adb pull <path to apk>
将其提取到 PC。
- 如果您的手机没有root,但您的朋友没有禁用他的应用程序的备份,您可以创建一个备份并从中提取APK。
使用这个亚行命令:
adb backup -apk -f backup.ab app.package.name
然后使用此工具解压缩备份文件。
获得 APK 后,您可以使用ApkTool 对其进行反编译、分析和调整。
Android 有更多的高级反编译器,但你的里程可能非常多。
推荐阅读
- javascript - 使用静态成员时如何避免 Jasmine 测试中的竞争条件?
- java - Cognito SRP 身份验证 JAVA SDK
- php - 在php中获取当前金属价格api
- javascript - 对象数组的解构变得未定义
- android - Android - webView:网页不可用
- python - 如何确保所有 PyTorch 代码充分利用 Google Colab 上的 GPU
- c# - 使用 openidconnect 从 web 中的 azure 获取 accesstoken
- git - 如何使用 git 安装 devoloper 版本或任何其他版本的应用程序?
- vba - 如何从用户窗体的两个不同工作簿中将数据捕获到指定的 Excel 工作表(第一个工作簿)?
- android - 使用 rxJava2 在改造中链接请求并将结果填充到 recyclerview