如何确定一个应用程序是原生的还是HTML5?

10

我想知道如何判断一个移动应用是本地应用还是HTML5应用。是否有任何软件或网站可以告诉我们这个信息?我该如何检测一个应用程序是本地应用还是HTML5应用?


3
如果你使用它无法判断,那么这重要吗? :) - Joachim Isaksson
2
你是否想以编程的方式实现这个功能?如果不是,这个问题最好在Android Stackexchange上提问。无论如何,我认为这个问题的答案是“否”,你不能确定一个应用程序是原生的还是基于HTML的。如果你有很多经验,可能在查看和交互时能够辨别出来,但即使如此,你也是根据它的外观/行为做出的有根据的猜测。你没有任何保证。 - FoamyGuy
如果您从AppStore(或Android等同平台)下载了应用,那么它至少部分是本地的(虽然它可能只是封装了一个浏览器视图)。 - Frederick Cheung
进入开发者选项 > 调试GPU过度绘制 > 显示过度绘制区域。然后进入所需的应用程序,如果各组件上的颜色不同,则它是本地应用程序。如果您看到应用程序的组件正常,则它是混合应用程序。 - malhobayyeb
2个回答

11
你可以使用任何工具(如winzip或winrar)来解压 .apk 文件。如果这是一个基于html5的应用程序,在 /res/assets 文件夹中,你将看到 .html、.js和.css 文件。
要获取 .apk 文件,请使用adb从手机上拉取它。不过,可能需要root权限才能执行此操作。

5
您可以使用AirDroid无需Root访问来获取.apk文件。 - bradley4

-3

原生应用程序通常使用 Web 视图进行渲染 - 这些被称为混合应用程序。它们使用 Java 来确定要显示的内容(与 Web 服务器相似),然后使用 Web 视图来呈现显示。因此,HTML/CSS/JS 文件的存在不能用于确定其是否为 HTML5 应用程序。

正如 @Tim 所说 - 除非你深入挖掘,否则你无法百分之百确定。即使那样也可能不行。


请纠正我,但本地应用程序是使用XML文件等呈现视图的应用程序。混合应用程序使用Web视图。而使用Phone Gap构建的应用程序也使用Web视图。 - Droid Chris
本地应用程序不需要使用XML文件等来呈现视图。我有本地应用程序,可以通过编程方式创建其布局和视图,只需一个具有线性布局的根XML文件即可。我有本地应用程序,可以创建Web视图,然后使用内容填充Web视图以及其他视图,例如图像视图与其内容。我将这样的应用程序称为混合型应用程序。您可以通过大量JavaScript和用户交互中的一般笨拙来判断应用程序是否基于PhoneGap等。 - Colin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接