簡體   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