【问题标题】:How can I restore Nativescript application code from android device?如何从 android 设备恢复 Nativescript 应用程序代码?
【发布时间】:2019-05-06 12:11:15
【问题描述】:

当我在开发 Nativescript 应用程序时创建 APK 时,Nativescript 将所有应用程序代码存储在生成的 APK 文件中,这对我很有帮助,以防代码发生错误[代码已删除,未提交我工作了很长时间的变化,...]。当代码出现问题时,我通常会使用任何 APK Extractor 工具从我的 Android 设备生成一个 APK,然后使用 JADX 对其进行反编译以获取我的原始代码并节省时间。

当我对布局或 js 文件进行更改时,Nativescript 不会生成新的 APK [即使在 android 设备上应用了更改]。 Nativescript 仅在我构建项目时生成新的 APK。当我需要在对代码进行大量更改后恢复我的代码时,这并没有太大帮助。

我们正在开发一个 nativescript 应用程序。我们已经对应用程序进行了大约两天的更改,但没有生成新的 APK,也没有提交对 git 的更改。突然从电脑中删除的文件,我们不知道为什么。

我们从测试android设备上的最新工作版本中提取了一个APK,反编译并检索了代码,但最近两天的更改不存在。

有没有办法从安装在 android 设备上的 Nativescript 应用程序恢复代码? 恢复代码是指在构建应用程序后恢复对代码的所有更改。

nativescript 在哪里/如何存储我在 android 设备上的应用程序代码的即时更改?

【问题讨论】:

    标签: android nativescript


    【解决方案1】:

    您可以通过从 adb 访问应用程序数据来查看您的代码。

    从 adb 连接到您的应用程序

    adb shell run-as org.nativescript.myapplication
    

    你可以在这个目录中找到你的文件

    /data/data/org.nativescript.myapplication/files/app
    

    【讨论】:

      【解决方案2】:

      依靠你的APK来保留你的源代码是不明智的,你可能应该使用像Git这样的版本控制系统,可能是像Github / BitBucket / GitLab等服务来维护你的源代码。

      在使用版本控制系统时,您应该定期提交更改。这就是这里的全部目的,即使您不确定您的更改,您仍然可以使用自己的分支并保持更改提交并仅在完全准备好时合并到主分支。

      我猜您在运行/构建应用程序时没有使用--bundle 选项,建议您在保持应用程序轻量级的同时使用 Uglify 提供最小的混淆。在 NativeScript 的下一个主要版本中,此 --bundle 选项将被标记为默认选项,因此您将无法再提取确切的源代码。

      另外想想如果有人想在你没有进行任何混淆的情况下破解你的应用程序,很容易克隆你的工作或按照他们的意愿破坏功能。详细了解如何保护您的源代码 here

      关于实时更改的存储位置,我认为它将在 Android 上的应用程序数据目录中。

      【讨论】:

      • 正如我在问题中提到的,我们已经使用了 git,我们需要通过反编译应用程序来访问代码,因为最后的更改丢失了。我们也知道我们应该在发布应用程序中缩小和丑化我们的代码,但出于调试目的,我们不使用 webback,所以我认为从 debug 应用程序中检索最后的编辑是可能的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多