如何确定Android应用程序是否使用Web视图构建?

时间:2011-05-18 19:47:57

标签: android webview

我是Android编程的新手,我正在调查构建应用程序的各种方法。现在我正在使用Eclipse和ADT学习本机应用程序开发,但我也希望查看Web视图及其可能性。可以使用Eclipse / ADT直接完成,也可以通过PhoneGap等工具完成。

我知道网页浏览的优缺点,但为了更好地了解它们在什么情况下是合适的,同样在它们失败的地方,我想分析各种现有的应用程序,并检查它们是建立在webview上还是本地编程。 / p>

问题在于,我有时会觉得给定的应用程序是webview,因为外观和感觉有点不同,但另一方面,开发人员可能只是出于某种原因选择了该外观。

那么,我能否以某种方式确定应用程序是否来自webview?

5 个答案:

答案 0 :(得分:17)

尝试使用S3等不同手机中的以下选项:

转到:“设置” - > “开发者选项” - >检查“show layoutboundaries”

我认为如果应用程序是原生的,则会显示所有对象的边界,而如果是webview,则不会显示边界。

希望这会有所帮助......

答案 1 :(得分:3)

没有太多麻烦,你可以查看apk并确定该应用程序是否使用WebView:

一个。找到apk:

已安装的应用位于Android设备的/ data / app文件夹中,并具有域样式的文件名

/ system / app有android apks

B1。如果安装了apk的Android设备已植根,您可以使用例如应用Solid Explorer探索设备上的apk。

B2。或者,您可以在Android设备上启用调试,并使用adb将apk复制到计算机(apks实际上是zip存档。)

℃。然后是WebView应用程序:

C1。在apk内部,在文件夹资产中,通常有扩展名为.html的文件。这些是WebView中显示的Web页面。

C2。在apk中,在文件/res/layout/main.xml中(或者可能是扩展名为.xml的其他名称的视图),使用短语“WebView”。

许多慢速应用程序实际上不是WebViews:)

答案 2 :(得分:2)

如果你有应用程序的源代码,请查看源代码。

如果您没有应用程序的源代码,请查看它是否有关于菜单或指示其使用的内容,或查看应用程序的网站是否披露了他们如何编写它。

我敢说,95%或更多的Android应用都是原生的。在剩下的5%中,绝大多数使用WebView的人只是简单地包装一个现有的网站,但让它“成为一个应用程序”用于营销目的。虽然PhoneGap是一个非常灵活的工具,但恕我直言,市场上只有一小部分Android应用程序使用它或类似的基于WebView的技术(例如,Rhodes)。这个百分比可能在未来几年内增长,特别是当人们使用PhoneGap进行跨平台开发,或者包装HTML5 Web应用程序以供离线使用时。

答案 3 :(得分:1)

这对我有用:

  • 安装并打开应用
  • 通过运行 adb uninstall com.google.android.webview
  • 卸载 WebView
  • 如果应用在卸载 WebView 后关闭,那么它正在使用 WebView

我假设您拥有 WebView 的更新版本,而不是设备上预装的库存版本

要检查 WebView 是否已更新,请运行 adb shell dumpsys package com.google.android.webview | grep versionName 并且应该有两个不同的版本,一个是当前版本,另一个是库存版本。

答案 4 :(得分:0)

某种方式(但可能更复杂)是根设备并安装代理(如https://play.google.com/store/apps/details?id=org.proxydroid&hl=en)。然后,您可以观察HTTP流量并尝试确定应用程序是否使用WebView。