2011-05-18 58 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

相關問題