繁体   English   中英

如何从Android设备还原Nativescript应用程序代码?

[英]How can I restore Nativescript application code from android device?

当我在开发Nativescript应用程序时创建APK时,Nativescript将所有应用程序代码存储在生成的APK文件中,这对我有很大帮助,以防万一代码发生了问题[该代码已删除,没有提交更改,工作了很长时间,...]。 当代码发生问题时,我通常会使用任何APK提取器工具从我的android设备生成一个APK,然后用JADX对其进行反编译,以获取原始代码并保存一天。

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

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

我们从测试的android设备上的最新工作版本中提取了一个APK,对其进行了反编译并检索了代码,但最近两天的更改都没有。

有没有办法从Android设备上安装的Nativescript应用程序还原代码? 通过还原代码,我的意思是甚至在构建应用程序后还原代码上的所有更改。

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

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

从adb连接到您的应用程序

adb shell run-as org.nativescript.myapplication

您可以在此目录中找到文件

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

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

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

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

还要考虑一下,如果有人想在您没有进行任何混淆的情况下入侵您的应用程序,那么很容易克隆您的工作或按他们的意愿破坏功能。 在此处了解有关保护源代码的更多信息。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM