Unity和Vuforia项目丢失,我如何编辑apk?

时间:2019-01-04 19:33:16

标签: unity3d vuforia

我对Unity有很大的疑问。一周前,我制作了一个Android应用,增强现实。我以APK格式编译了该应用程序。经过一个星期的团结与合作,我的硬盘坏了。

我的问题是,如何修改已经创建的apk ..因为我仅创建了项目。我只有手机上剩下的apk。

有没有可能?

我寻找结果..但徒劳。谢谢!

1 个答案:

答案 0 :(得分:0)

有时候,可以从apk中获取一些数据,例如您编写的脚本。 这取决于您如何编译APK。 如果使用IL2CPP,我会说它丢失了,但是如果您使用mono作为脚本支持,则可以尝试对其进行反编译。 (如果您使用代码混淆等,则不会。)

要这样做,您将需要apktool和dnspy之类的程序。 (也许也可以) 比您应该使用apktool来获取dll。这是一个示例apktool.bat,它将使用apktool.jar来获取dll。

@echo off
if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
chcp 65001 2>nul >nul
java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0\apktool.jar" %*

运行命令后

  

apktool d appname.apk

您应该导航到appname \ assets \ bin \ Data \ Managed。

在此文件夹中,您将找到Assembly-CSharp.dll和Assembly-CSharp-firstpass.dll。

您可以使用dnSpy打开dll并获取大部分代码。

但是,如果您是第一次这样做,则过程可能会很复杂,因此请花一些时间。如果您还有其他问题,我可以尝试解释如何做。

您可以执行的其他操作:(以获取脚本/甚至可以收回资产)

您可以尝试使用一些统一编辑器扩展,例如Unity Unpacker。其中大多数是有偿的,通常效果不佳。

将来,我建议使用某种版本控制。它使生活更轻松,您不必担心备份。另外,如果您需要恢复几天前的操作,只需单击几下。为此,您可以使用Unity Teams,Github for Unity或类似的东西。