2011-05-18 33 views
3

我是新的Android编程,我正在研究构建应用程序的各种方法。现在我正在使用Eclipse和ADT学习本地应用程序开发,但我也希望看看webviews及其可能性。直接使用Eclipse/ADT或通过PhoneGap等工具完成。如何确定Android应用程序是否使用Web视图构建?

我知道webviews的优点和缺点,但为了更好地了解它们在什么情况下是合适的,同样也是它们失败的原因,我想分析各种现有的应用程序并检查它们是建立在webview上还是本机编程。

的事情是,我有时有一种感觉,一个给定的应用程序是网页视图,因为外观和感觉是有点不同,但另一方面也许是开发商干脆选择了寻找一些原因。

所以,我可以以某种方式确定一个应用程序从网页视图做?

回答

2

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

如果你没有对应用程序的源代码,看看它是否有一个关于菜单或某事,表示他们使用的东西,或者看看是否该网站的应用程序,公开他们是如何写的。

我敢说Android应用的95%以上是天然的。在剩下的5%中,绝大多数使用WebView的网站都只是简单地包装现有的网站,但为了营销目的,它已经成为“一款应用”。尽管PhoneGap是一款非常漂亮的工具,但恕我直言,只有市场上一小部分Android应用程序使用它或基于类似WebView的技术(例如Rhodes)。未来几年这一比例可能会增长,特别是当人们使用PhoneGap进行跨平台开发,或者将HTML5 Web应用程序包装为脱机使用时。

+0

我没有源代码。 是否有可能看到一个给定的程序是否在内部使用webview(浏览器)?我有一个Windows编程的背景,并且存在各种工具来窥探其他应用程序,例如他们使用的类名等等。如果存在这样的工具,可能会告诉应用程序是否使用了给定的Android组件。 – marlar 2011-05-19 08:06:38

+0

@ user234466:“是否可以查看给定程序是否在内部使用webview(浏览器)?” - 如果您从Android电子市场获得该应用,则不会,这是不可能的,除非通过盗版应用。欢迎您尝试联系有问题的应用程序开发人员,并询问他们使用的是什么技术。 – CommonsWare 2011-05-19 10:23:36

+0

联系开发人员实际上是一个很好的和可感知的解决方案。如果我解释为什么我想知道,他们很有可能愿意回答。谢谢。 顺便说一句,我只是把我的用户名改为比user234466更漂亮的东西。我从来没有注意到过! – marlar 2011-05-19 13:30:13

2

没有太多的麻烦,你可以看看里面的APK,并确定应用程序使用的WebView:

A.找到APK:

安装的应用程式在Android设备上的文件夹/数据/应用程序,并具有域风格的文件名

/系统/应用程序有机器人的APK

B1。如果安装了apk的Android设备已生根,则可以使用例如Solid Explorer应用程序浏览设备上的apk。

B2。另外,您也可以在Android设备上启用调试和APK复制到计算机使用ADB(APK的实际上是zip档案。)

。然后对的WebView应用:

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

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

慢很多应用都其实不是网页视图:)

+0

谢谢,我会试试这个! – marlar 2012-11-20 11:19:35

14

试试下面的选项存在于不同的手机一样S3:

转到:“设置” - >“开发人员选项” - >勾选“显示layoutboundaries“

我认为,如果应用程序是本地完成的,将为所有对象显示边界,而如果它是webview,则不显示边界。

希望这将有助于...

+0

不错的一个,救了我一天:) – Qasim 2016-03-21 13:17:06

0

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

+1

谢谢!这实际上是一个好主意。我已经有了一个根深蒂固的手机,就在几周前,我利用mitmproxy来分析手机的流量。如果响应中的html内容与您在应用中看到的内容相对应,则应该确定该应用只是简单地使用web视图。 – marlar 2015-01-19 20:49:30

相关问题