我是Android编程的新手,我正在调查构建应用程序的各种方法。现在我正在使用Eclipse和ADT学习本机应用程序开发,但我也希望查看Web视图及其可能性。可以使用Eclipse / ADT直接完成,也可以通过PhoneGap等工具完成。
我知道网页浏览的优缺点,但为了更好地了解它们在什么情况下是合适的,同样在它们失败的地方,我想分析各种现有的应用程序,并检查它们是建立在webview上还是本地编程。 / p>
问题在于,我有时会觉得给定的应用程序是webview,因为外观和感觉有点不同,但另一方面,开发人员可能只是出于某种原因选择了该外观。
那么,我能否以某种方式确定应用程序是否来自webview?
答案 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 是否已更新,请运行 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。