http://git-wip-us.apache.org/repos/asf/incubator-weex-site/blob/f3d58bd0/cn/references/advanced/integrate-devtool-to-android.html
----------------------------------------------------------------------
diff --git a/cn/references/advanced/integrate-devtool-to-android.html
b/cn/references/advanced/integrate-devtool-to-android.html
deleted file mode 100644
index d5aa22a..0000000
--- a/cn/references/advanced/integrate-devtool-to-android.html
+++ /dev/null
@@ -1,1518 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
-
- <title>éæ Devtools å° Android | Weex</title>
- <meta name="viewport" content="width=device-width, initial-scale=1,
maximum-scale=1">
- <meta name="description" content="éæ Devtools å° AndroidWeex Devtools
è½å¤æ¹ä¾¿è°è¯ Weex 页é¢ï¼ä½æ¤åè½ç¦»ä¸å¼ Native
çæ¯æãå¦ä½è®©ä½ ç App ä¹éæ Devtoolsï¼å¨æ¬ç«
å°ä¼è¯¦ç»è¯´æ Android 端å¦ä½æ¥å
¥ Weex Devtoolsã Android åºç¨æ¥å
¥æ·»å ä¾èµå¯ä»¥éè¿ Gradle æè
Maven æ·»å 对 devtools aar
çä¾èµï¼ä¹å¯ä»¥ç´æ¥å¯¹æºç ä¾èµã">
-<meta property="og:type" content="website">
-<meta property="og:title" content="éæ Devtools å° Android">
-<meta property="og:url"
content="https://weex-project.io/cn/references/advanced/integrate-devtool-to-android.html">
-<meta property="og:site_name" content="Weex">
-<meta property="og:description" content="éæ Devtools å° AndroidWeex
Devtools è½å¤æ¹ä¾¿è°è¯ Weex 页é¢ï¼ä½æ¤åè½ç¦»ä¸å¼ Native
çæ¯æãå¦ä½è®©ä½ ç App ä¹éæ Devtoolsï¼å¨æ¬ç«
å°ä¼è¯¦ç»è¯´æ Android 端å¦ä½æ¥å
¥ Weex Devtoolsã Android åºç¨æ¥å
¥æ·»å ä¾èµå¯ä»¥éè¿ Gradle æè
Maven æ·»å 对 devtools aar
çä¾èµï¼ä¹å¯ä»¥ç´æ¥å¯¹æºç ä¾èµã">
-<meta property="og:image"
content="https://img.alicdn.com/tps/TB1aKy4NXXXXXacXVXXXXXXXXXX-1019-756.png">
-<meta property="og:image"
content="https://img.alicdn.com/tps/TB13fwSKFXXXXXDaXXXXXXXXXXX-887-828.png">
-<meta property="og:image"
content="https://img.alicdn.com/tps/TB1igLoMVXXXXawapXXXXXXXXXX-786-1610.jpg">
-<meta property="og:updated_time" content="2017-04-28T02:36:21.000Z">
-<meta name="twitter:card" content="summary">
-<meta name="twitter:title" content="éæ Devtools å° Android">
-<meta name="twitter:description" content="éæ Devtools å° AndroidWeex
Devtools è½å¤æ¹ä¾¿è°è¯ Weex 页é¢ï¼ä½æ¤åè½ç¦»ä¸å¼ Native
çæ¯æãå¦ä½è®©ä½ ç App ä¹éæ Devtoolsï¼å¨æ¬ç«
å°ä¼è¯¦ç»è¯´æ Android 端å¦ä½æ¥å
¥ Weex Devtoolsã Android åºç¨æ¥å
¥æ·»å ä¾èµå¯ä»¥éè¿ Gradle æè
Maven æ·»å 对 devtools aar
çä¾èµï¼ä¹å¯ä»¥ç´æ¥å¯¹æºç ä¾èµã">
-<meta name="twitter:image"
content="https://img.alicdn.com/tps/TB1aKy4NXXXXXacXVXXXXXXXXXX-1019-756.png">
-
- <link rel="alternate" href="/atom.xml" title="Weex"
type="application/atom+xml">
-
-
- <link rel="icon"
href="//gw.alicdn.com/tps/TB1XNqxPXXXXXcSXVXXXXXXXXXX-64-63.png">
-
-
- <link href="//fonts.googleapis.com/css?family=Source+Code+Pro"
rel="stylesheet" type="text/css">
-
- <link rel="stylesheet" href="/css/style.css">
- <link rel="stylesheet" href="/css/swiper.min.css">
-</head>
-
-<body id="references" class="lang-cn">
-
- <script>
- window.PAGE_TYPE = "references";
- window.ROOT = "/"
- </script>
- <header id="header">
- <div class="navbar">
- <a id="logo" href="/cn/">
- <img src="//img.alicdn.com/tps/TB1zBLaPXXXXXXeXXXXXXXXXXXX-121-59.svg" />
- </a>
- <div class="main-nav">
- <ul class="links">
- <li><a href="/cn/guide">æç¨</a></li>
- <li><a href="/cn/references">æå</a></li>
- <li class="dropdown">
- <a href="javascript:;">åè</a>
- <ul class="dropdown-menu subnav">
- <li>
- <a href="/cn/faq.html">FAQ</a>
- </li>
- <li>
- <a href="/cn/releasenote.html">çæ¬è¯´æ</a>
- </li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="javascript:;">å·¥å
·åæå¡</a>
- <ul class="dropdown-menu subnav">
- <li>
- <a href="/cn/playground.html">Playground</a>
- </li>
- <li>
- <a href="/cn/guide/tools/toolkit.html">Weex-toolkit</a>
- </li>
- <li>
- <a href="http://dotwe.org" target="_blank">Code Snippets</a>
- </li>
- <li>
- <a href="https://market.dotwe.org" target="_blank">Market</a>
- </li>
- </ul>
- </li>
- </ul>
- <ul class="info">
- <li><a href="https://github.com/apache/incubator-weex/"
target="_blank"><span class="btn-github iconfont icon-github"></span></a></li>
- </ul>
- <ul class="tools">
- <li>
- <div class="search">
- <form id="search-form" class="search-form"> <!-- æç´¢æ¡ç¸å
³ -->
- <input type="text" id="search-input-header" name="q" results="0"
class="form-control search-input" autocomplete="off" autocorrect="off"/>
- <span class="iconfont icon-search"></span>
- </form>
- <div class="results-panel">
- </div>
-</div>
- </li>
- <li>
- <div class="dropdown select-lang">
- <a href="javascript:;" class="dropdown-toggle">
- Language
- <span class="caret"></span>
- </a>
- <ul class="dropdown-menu pick-lang">
- <li>
- <a
href="/references/advanced/integrate-devtool-to-android.html"
data-lang="en">English</a>
- </li>
- <li>
- <a
href="/cn/references/advanced/integrate-devtool-to-android.html"
data-lang="zh-cn">ä¸æ</a>
- </li>
- </ul>
- </div>
- </li>
- <!--<li></li>-->
- </ul>
- </div>
- </div>
- <div id="mobile-nav">
- <a id="logo" href="/cn/">
- <img src="//img.alicdn.com/tps/TB1zBLaPXXXXXXeXXXXXXXXXXXX-121-59.svg" />
- </a>
- <a class="btn-menu"><span class="iconfont icon-nav"></span></a>
- </div>
-</header>
-
- <div id="sidebar" class="">
- <div class="sidebar-menu">
-
- <div class="search">
- <form id="search-form" class="search-form"> <!-- æç´¢æ¡ç¸å
³ -->
- <input type="text" id="search-input-sidebar" name="q" results="0"
class="form-control search-input" autocomplete="off" autocorrect="off"/>
- <span class="iconfont icon-search"></span>
- </form>
- <div class="results-panel">
- </div>
-</div>
-
-
-
-<div class="summary">
- <h2 class="part-title">
-
- æå
-
- </h2>
- <ul class="doc-summary">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/index.html"
class="sidebar-link ">éç¨ç¹æ§</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/ios-apis.html" class="sidebar-link
">iOS APIs</a>
- </li>
-
- <li>
- <a href="/cn/references/android-apis.html" class="sidebar-link
">Android APIs</a>
- </li>
-
- <li>
- <a href="/cn/references/html5-apis.html" class="sidebar-link
">HTML5 APIs</a>
- </li>
-
- <li>
- <a href="/cn/references/jsfm-apis.html" class="sidebar-link
">JS Framework APIs</a>
- </li>
-
- <li>
- <a href="/cn/references/common-style.html" class="sidebar-link
">éç¨æ ·å¼</a>
- </li>
-
- <li>
- <a href="/cn/references/text-style.html" class="sidebar-link
">ææ¬æ ·å¼</a>
- </li>
-
- <li>
- <a href="/cn/references/color-names.html" class="sidebar-link
">é¢è²å称å表</a>
- </li>
-
- <li>
- <a href="/cn/references/gesture.html" class="sidebar-link
">æå¿</a>
- </li>
-
- <li>
- <a href="/cn/references/path.html" class="sidebar-link ">Path
(è±)</a>
- </li>
-
- </ul>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a
href="/cn/references/components/index.html" class="sidebar-link ">å
建ç»ä»¶</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/components/a.html" class="sidebar-link
"><a></a>
- </li>
-
- <li>
- <a href="/cn/references/components/slider.html"
class="sidebar-link "><slider></a>
- </li>
-
- <li>
- <a href="/cn/references/components/indicator.html"
class="sidebar-link "><indicator></a>
- </li>
-
- <li>
- <a href="/cn/references/components/switch.html"
class="sidebar-link "><switch></a>
- </li>
-
- <li>
- <a href="/cn/references/components/text.html"
class="sidebar-link "><text></a>
- </li>
-
- <li>
- <a href="/cn/references/components/textarea.html"
class="sidebar-link "><textarea></a>
- </li>
-
- <li>
- <a href="/cn/references/components/video.html"
class="sidebar-link "><video></a>
- </li>
-
- <li>
- <a href="/cn/references/components/web.html"
class="sidebar-link "><web></a>
- </li>
-
- <li>
- <a href="/cn/references/components/div.html"
class="sidebar-link "><div></a>
- </li>
-
- <li>
- <a href="/cn/references/components/image.html"
class="sidebar-link "><image></a>
- </li>
-
- <li>
- <a href="/cn/references/components/input.html"
class="sidebar-link "><input></a>
- </li>
-
- <li>
- <a href="/cn/references/components/list.html"
class="sidebar-link "><list></a>
- </li>
-
- <li>
- <a href="/cn/references/components/cell.html"
class="sidebar-link "><cell></a>
- </li>
-
- <li>
- <a href="/cn/references/components/loading.html"
class="sidebar-link "><loading></a>
- </li>
-
- <li>
- <a href="/cn/references/components/refresh.html"
class="sidebar-link "><refresh></a>
- </li>
-
- <li>
- <a href="/cn/references/components/scroller.html"
class="sidebar-link "><scroller></a>
- </li>
-
- </ul>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/modules/index.html"
class="sidebar-link ">å
建模å</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/modules/animation.html"
class="sidebar-link ">animation</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/websocket.html"
class="sidebar-link ">WebSocket</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/picker.html"
class="sidebar-link ">picker</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/clipboard.html"
class="sidebar-link ">clipboard</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/dom.html" class="sidebar-link
">dom</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/modal.html"
class="sidebar-link ">modal</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/navigator.html"
class="sidebar-link ">navigator</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/storage.html"
class="sidebar-link ">storage</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/stream.html"
class="sidebar-link ">stream</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/webview.html"
class="sidebar-link ">webview</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/globalevent.html"
class="sidebar-link ">globalEvent</a>
- </li>
-
- </ul>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/unit.html"
class="sidebar-link ">CSS åä½</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/common-event.html"
class="sidebar-link ">éç¨äºä»¶</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/native-dom-api.html"
class="sidebar-link ">Native DOM APIs</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/weex-variable.html"
class="sidebar-link ">Weex å®ä¾åé</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/web-standards.html"
class="sidebar-link ">Web æ å</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a
href="/cn/references/js-service/index.html" class="sidebar-link ">JS
Service</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/vue/index.html"
class="sidebar-link ">Vue</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/vue/difference-with-web.html"
class="sidebar-link ">Vue 2.x å¨ Weex å Web ä¸çå·®å¼</a>
- </li>
-
- <li>
- <a href="/cn/references/vue/difference-of-vuex.html"
class="sidebar-link ">ä½¿ç¨ Vuex å vue-router</a>
- </li>
-
- </ul>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/advanced/index.html"
class="sidebar-link ">é«é¶ç¥è¯</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/advanced/extend-to-ios.html"
class="sidebar-link ">iOS æ©å±</a>
- </li>
-
- <li>
- <a href="/cn/references/advanced/extend-to-android.html"
class="sidebar-link ">Android æ©å±</a>
- </li>
-
- <li>
- <a href="/cn/references/advanced/extend-to-html5.html"
class="sidebar-link ">HTML5 æ©å±</a>
- </li>
-
- <li>
- <a href="/cn/references/advanced/extend-jsfm.html"
class="sidebar-link ">æå± JS framework</a>
- </li>
-
- <li>
- <a
href="/cn/references/advanced/integrate-devtool-to-android.html"
class="sidebar-link current ">éæ Devtools å° Android</a>
- </li>
-
- <li>
- <a
href="/cn/references/advanced/integrate-devtool-to-ios.html"
class="sidebar-link ">éæ Devtools å° iOS</a>
- </li>
-
- </ul>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a
href="/cn/references/migration/index.html" class="sidebar-link
">è¿ç§»</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/platform-difference.html"
class="sidebar-link ">Weex å Web å¹³å°çå·®å¼</a>
- </li>
-
- <li>
- <a href="/cn/references/migration/migration-from-weex.html"
class="sidebar-link ">å¦ä½å°åæ Weex 项ç®æ¹é æ Vue çæ¬</a>
- </li>
-
- <li>
- <a href="/cn/references/migration/difference.html"
class="sidebar-link ">Weex å Vue 2.x çè¯æ³å·®å¼</a>
- </li>
-
- </ul>
-
- </li>
-
-
-
- <li>
- <h3 class="chapter-title"><a href="/cn/v-0.10/references/index.html"
class="sidebar-link">æ§è¯æ³ææ¡£</a></h3>
- </li>
-
- </ul>
-</div>
-
- <a class="btn-close-sidebar iconfont icon-close"></a>
- </div>
-</div>
-
- <div class="article-wrapper page-layout">
- <div class="doc-nav">
-
-
-
-<div class="summary">
- <h2 class="part-title">
-
- æå
-
- </h2>
- <ul class="doc-summary">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/index.html"
class="sidebar-link ">éç¨ç¹æ§</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/ios-apis.html" class="sidebar-link
">iOS APIs</a>
- </li>
-
- <li>
- <a href="/cn/references/android-apis.html" class="sidebar-link
">Android APIs</a>
- </li>
-
- <li>
- <a href="/cn/references/html5-apis.html" class="sidebar-link
">HTML5 APIs</a>
- </li>
-
- <li>
- <a href="/cn/references/jsfm-apis.html" class="sidebar-link
">JS Framework APIs</a>
- </li>
-
- <li>
- <a href="/cn/references/common-style.html" class="sidebar-link
">éç¨æ ·å¼</a>
- </li>
-
- <li>
- <a href="/cn/references/text-style.html" class="sidebar-link
">ææ¬æ ·å¼</a>
- </li>
-
- <li>
- <a href="/cn/references/color-names.html" class="sidebar-link
">é¢è²å称å表</a>
- </li>
-
- <li>
- <a href="/cn/references/gesture.html" class="sidebar-link
">æå¿</a>
- </li>
-
- <li>
- <a href="/cn/references/path.html" class="sidebar-link ">Path
(è±)</a>
- </li>
-
- </ul>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a
href="/cn/references/components/index.html" class="sidebar-link ">å
建ç»ä»¶</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/components/a.html" class="sidebar-link
"><a></a>
- </li>
-
- <li>
- <a href="/cn/references/components/slider.html"
class="sidebar-link "><slider></a>
- </li>
-
- <li>
- <a href="/cn/references/components/indicator.html"
class="sidebar-link "><indicator></a>
- </li>
-
- <li>
- <a href="/cn/references/components/switch.html"
class="sidebar-link "><switch></a>
- </li>
-
- <li>
- <a href="/cn/references/components/text.html"
class="sidebar-link "><text></a>
- </li>
-
- <li>
- <a href="/cn/references/components/textarea.html"
class="sidebar-link "><textarea></a>
- </li>
-
- <li>
- <a href="/cn/references/components/video.html"
class="sidebar-link "><video></a>
- </li>
-
- <li>
- <a href="/cn/references/components/web.html"
class="sidebar-link "><web></a>
- </li>
-
- <li>
- <a href="/cn/references/components/div.html"
class="sidebar-link "><div></a>
- </li>
-
- <li>
- <a href="/cn/references/components/image.html"
class="sidebar-link "><image></a>
- </li>
-
- <li>
- <a href="/cn/references/components/input.html"
class="sidebar-link "><input></a>
- </li>
-
- <li>
- <a href="/cn/references/components/list.html"
class="sidebar-link "><list></a>
- </li>
-
- <li>
- <a href="/cn/references/components/cell.html"
class="sidebar-link "><cell></a>
- </li>
-
- <li>
- <a href="/cn/references/components/loading.html"
class="sidebar-link "><loading></a>
- </li>
-
- <li>
- <a href="/cn/references/components/refresh.html"
class="sidebar-link "><refresh></a>
- </li>
-
- <li>
- <a href="/cn/references/components/scroller.html"
class="sidebar-link "><scroller></a>
- </li>
-
- </ul>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/modules/index.html"
class="sidebar-link ">å
建模å</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/modules/animation.html"
class="sidebar-link ">animation</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/websocket.html"
class="sidebar-link ">WebSocket</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/picker.html"
class="sidebar-link ">picker</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/clipboard.html"
class="sidebar-link ">clipboard</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/dom.html" class="sidebar-link
">dom</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/modal.html"
class="sidebar-link ">modal</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/navigator.html"
class="sidebar-link ">navigator</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/storage.html"
class="sidebar-link ">storage</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/stream.html"
class="sidebar-link ">stream</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/webview.html"
class="sidebar-link ">webview</a>
- </li>
-
- <li>
- <a href="/cn/references/modules/globalevent.html"
class="sidebar-link ">globalEvent</a>
- </li>
-
- </ul>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/unit.html"
class="sidebar-link ">CSS åä½</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/common-event.html"
class="sidebar-link ">éç¨äºä»¶</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/native-dom-api.html"
class="sidebar-link ">Native DOM APIs</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/weex-variable.html"
class="sidebar-link ">Weex å®ä¾åé</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/web-standards.html"
class="sidebar-link ">Web æ å</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a
href="/cn/references/js-service/index.html" class="sidebar-link ">JS
Service</a></h3>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/vue/index.html"
class="sidebar-link ">Vue</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/vue/difference-with-web.html"
class="sidebar-link ">Vue 2.x å¨ Weex å Web ä¸çå·®å¼</a>
- </li>
-
- <li>
- <a href="/cn/references/vue/difference-of-vuex.html"
class="sidebar-link ">ä½¿ç¨ Vuex å vue-router</a>
- </li>
-
- </ul>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a href="/cn/references/advanced/index.html"
class="sidebar-link ">é«é¶ç¥è¯</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/advanced/extend-to-ios.html"
class="sidebar-link ">iOS æ©å±</a>
- </li>
-
- <li>
- <a href="/cn/references/advanced/extend-to-android.html"
class="sidebar-link ">Android æ©å±</a>
- </li>
-
- <li>
- <a href="/cn/references/advanced/extend-to-html5.html"
class="sidebar-link ">HTML5 æ©å±</a>
- </li>
-
- <li>
- <a href="/cn/references/advanced/extend-jsfm.html"
class="sidebar-link ">æå± JS framework</a>
- </li>
-
- <li>
- <a
href="/cn/references/advanced/integrate-devtool-to-android.html"
class="sidebar-link current ">éæ Devtools å° Android</a>
- </li>
-
- <li>
- <a
href="/cn/references/advanced/integrate-devtool-to-ios.html"
class="sidebar-link ">éæ Devtools å° iOS</a>
- </li>
-
- </ul>
-
- </li>
-
- <li>
- <h3 class="chapter-title"><a
href="/cn/references/migration/index.html" class="sidebar-link
">è¿ç§»</a></h3>
-
- <ul class="chapter">
-
- <li>
- <a href="/cn/references/platform-difference.html"
class="sidebar-link ">Weex å Web å¹³å°çå·®å¼</a>
- </li>
-
- <li>
- <a href="/cn/references/migration/migration-from-weex.html"
class="sidebar-link ">å¦ä½å°åæ Weex 项ç®æ¹é æ Vue çæ¬</a>
- </li>
-
- <li>
- <a href="/cn/references/migration/difference.html"
class="sidebar-link ">Weex å Vue 2.x çè¯æ³å·®å¼</a>
- </li>
-
- </ul>
-
- </li>
-
-
-
- <li>
- <h3 class="chapter-title"><a href="/cn/v-0.10/references/index.html"
class="sidebar-link">æ§è¯æ³ææ¡£</a></h3>
- </li>
-
- </ul>
-</div>
- </div>
-
-
-<article class="article article-type-references">
- <div class="article-entry" itemprop="articleBody">
- <header class="article-header">
-
-
- <h1 class="article-title" itemprop="name">
- éæ Devtools å° Android
- </h1>
-
-
- <time class="article-date" datetime="2017-04-28T02:36:21.000Z">Updated time:
28/04/2017</time>
-</header>
- <h1 id="éæ-Devtools-å°-Android"><a
href="#éæ-Devtools-å°-Android" class="headerlink" title="éæ Devtools
å° Android"></a>éæ Devtools å° Android</h1><p>Weex Devtools
è½å¤æ¹ä¾¿è°è¯ Weex 页é¢ï¼ä½æ¤åè½ç¦»ä¸å¼ Native
çæ¯æãå¦ä½è®©ä½ ç App ä¹éæ Devtoolsï¼å¨æ¬ç«
å°ä¼è¯¦ç»è¯´æ Android 端å¦ä½æ¥å
¥ Weex Devtoolsã</p>
-<h2 id="Android-åºç¨æ¥å
¥"><a href="#Android-åºç¨æ¥å
¥"
class="headerlink" title="Android åºç¨æ¥å
¥"></a>Android åºç¨æ¥å
¥</h2><h3 id="æ·»å ä¾èµ"><a href="#æ·»å ä¾èµ" class="headerlink"
title="æ·»å ä¾èµ"></a>æ·»å ä¾èµ</h3><p>å¯ä»¥éè¿ Gradle æè
Maven
æ·»å 对 devtools aar çä¾èµï¼ä¹å¯ä»¥ç´æ¥å¯¹æºç
ä¾èµã强ç建议使ç¨ææ°çæ¬ï¼å 为 Weex SDK å devtools
é½å¨å¿«éçè¿ä»£å¼åä¸ï¼æ°çæ¬ä¼ææ´å¤æåï¼åæ¶ä¹ä¿®å¤èçæ¬ä¸ä¸äºé®é¢ãææ°ç
release çæ¬å¯å¨<a
href="https://github.com/weexteam/weex_devtools_android/releases"
target="_blank" rel="external">è¿é</a>æ¥çãææç release
çæ¬é½ä¼åå¸å° <a
href="https://bintray.com/alibabaweex/maven/weex_inspector" target="_blank"
rel="external">jcenter repo</a>ã</p>
-<ul>
-<li><p><em>Gradle ä¾èµ</em></p>
-<figure class="highlight gradle"><table><tr><td class="code"><pre><div
class="line"><span class="keyword">dependencies</span> {</div><div
class="line"> <span class="keyword">compile</span> <span
class="string">'com.taobao.android:weex_inspector:0.8.0.0'</span></div><div
class="line">}</div></pre></td></tr></table></figure>
-</li>
-<li><p><em>Mavenä¾èµ</em></p>
-<figure class="highlight xml"><table><tr><td class="code"><pre><div
class="line"><span class="tag"><<span
class="name">dependency</span>></span></div><div class="line"> <span
class="tag"><<span
class="name">groupId</span>></span>com.taobao.android<span
class="tag"></<span class="name">groupId</span>></span></div><div
class="line"> <span class="tag"><<span
class="name">artifactId</span>></span>weex_inspector<span
class="tag"></<span class="name">artifactId</span>></span></div><div
class="line"> <span class="tag"><<span
class="name">version</span>></span>0.8.0.0<span class="tag"></<span
class="name">version</span>></span></div><div class="line"> <span
class="tag"><<span class="name">type</span>></span>pom<span
class="tag"></<span class="name">type</span>></span></div><div
class="line"><span class="tag"></<span
class="name">dependency</span>></span></div></pre></td></tr></table></figure>
-</li>
-<li><p><em>æºç ä¾èµ</em></p>
-<p>éè¦å¤å¶ <a
href="https://github.com/weexteam/weex_devtools_android/tree/master/inspector"
target="_blank" rel="external">inspector</a> ç®å½å°ä½ ç App
çå级ç®å½ï¼ç¶åå¨å·¥ç¨ç <code>settings.gradle</code>
æ件ä¸æ·»å <code>include
":inspector"</code>ï¼æ¤è¿ç¨å¯ä»¥åè playground æºç
çå·¥ç¨é
ç½®åå
¶é
ç½®ï¼ç¶åå¨ App ç <code>build.gralde</code>
ä¸æ·»å ä¾èµã</p>
-<figure class="highlight gradle"><table><tr><td class="code"><pre><div
class="line"><span class="keyword">dependencies</span> {</div><div
class="line"> <span class="keyword">compile</span> <span
class="keyword">project</span>(<span
class="string">':inspector'</span>)</div><div
class="line">}</div></pre></td></tr></table></figure>
-<p>å¦å¤ weex_inspector ä¸æä¸é¨åå
æ¯ä»¥ provided çæ¹å¼å¼å
¥ï¼æ¥å
¥æ¹éè¦èªè¡è§£å³ä¾èµåçæ¬å²çªã</p>
-<ul>
-<li><p><strong>providedæ¹å¼å¼ç¨çå
</strong></p>
-<figure class="highlight gradle"><table><tr><td class="code"><pre><div
class="line"><span class="keyword">dependencies</span> {</div><div
class="line"> provided <span
class="string">'com.google.code.findbugs:jsr305:2.0.1'</span></div><div
class="line"> provided <span
class="string">'com.android.support:appcompat-v7:23.1.1'</span></div><div
class="line"> provided <span
class="string">'com.taobao.android:weex_sdk:0.8.0'</span></div><div
class="line"> provided <span
class="string">'com.alibaba:fastjson:1.1.45+'</span></div><div class="line">
...</div><div class="line">}</div></pre></td></tr></table></figure>
-</li>
-</ul>
-</li>
-</ul>
-<ul>
-<li><p><strong>åå°å¼ç¨çå
(0.8.0.0以ä¸çæ¬)</strong></p>
-<figure class="highlight gradle"><table><tr><td class="code"><pre><div
class="line"><span class="keyword">dependencies</span> {</div><div
class="line"> <span class="keyword">compile</span> <span
class="string">'com.squareup.okhttp:okhttp:2.3.0'</span></div><div
class="line"> <span class="keyword">compile</span> <span
class="string">'com.squareup.okhttp:okhttp-ws:2.3.0'</span></div><div
class="line"> ...</div><div
class="line">}</div></pre></td></tr></table></figure>
-</li>
-</ul>
-<p> æè
</p>
- <figure class="highlight gradle"><table><tr><td class="code"><pre><div
class="line"><span class="keyword">dependencies</span> {</div><div
class="line"> <span class="keyword">compile</span> <span
class="string">'com.squareup.okhttp:okhttp:3.4.1'</span></div><div
class="line"> <span class="keyword">compile</span> <span
class="string">'com.squareup.okhttp:okhttp-ws:3.4.1'</span></div><div
class="line"> ...</div><div
class="line">}</div></pre></td></tr></table></figure>
-<h4 id="çæ¬å
¼å®¹"><a href="#çæ¬å
¼å®¹" class="headerlink"
title="çæ¬å
¼å®¹"></a>çæ¬å
¼å®¹</h4><table>
-<thead>
-<tr>
-<th>weex sdk</th>
-<th>weex inspector</th>
-<th>Debugger Server</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>0.8.0.1+</td>
-<td>0.0.8.1+</td>
-<td>0.2.39+</td>
-</tr>
-<tr>
-<td>0.7.0+</td>
-<td>0.0.7.13</td>
-<td>0.2.38</td>
-</tr>
-<tr>
-<td>0.6.0+</td>
-<td>0.0.2.2</td>
-<td>-</td>
-</tr>
-</tbody>
-</table>
-<h3 id="æ·»å -Debug-模å¼å¼å
³"><a href="#æ·»å -Debug-模å¼å¼å
³"
class="headerlink" title="æ·»å Debug 模å¼å¼å
³"></a>æ·»å Debug
模å¼å¼å
³</h3><p>æ§å¶è°è¯æ¨¡å¼çæå¼åå
³éçå
³é®ç¹å¯ä»¥æ¦æ¬ä¸ºä¸æ¡è§åã</p>
-<p><strong>è§åä¸ï¼éè¿ <code>sRemoteDebugMode</code> å
<code>sRemoteDebugProxyUrl</code> æ¥è®¾ç½®å¼å
³å Debugger Server
å°åã</strong></p>
-<p>Weex SDK ç <code>WXEnvironment</code> ç±»éæä¸å¯¹éæåéæ
è®°äº Weex å½åçè°è¯æ¨¡å¼æ¯å¦å¼å¯åå«æ¯ï¼</p>
-<figure class="highlight java"><table><tr><td class="code"><pre><div
class="line"><span class="keyword">public</span> <span
class="keyword">static</span> <span class="keyword">boolean</span>
sRemoteDebugMode; <span class="comment">// æ¯å¦å¼å¯ debug 模å¼ï¼é»è®¤å
³é</span></div><div class="line"><span class="keyword">public</span> <span
class="keyword">static</span> String sRemoteDebugProxyUrl; <span
class="comment">//
DebugServerçwebsocketå°å</span></div></pre></td></tr></table></figure>
-<p>æ è®ºå¨ App ä¸æ 论以ä½ç§æ¹å¼è®¾ç½® Debug 模å¼ï¼é½å¿
é¡»å¨æ°å½çæ¶æºè°ç¨ç±»ä¼¼å¦ä¸çæ¹æ³æ¥è®¾ç½®
<code>WXEnvironment.sRemoteDebugMode</code> å
<code>WXEnvironment.sRemoteDebugProxyUrl</code>ã</p>
-<figure class="highlight java"><table><tr><td class="code"><pre><div
class="line"><span class="function"><span class="keyword">private</span> <span
class="keyword">void</span> <span
class="title">initDebugEnvironment</span><span class="params">(<span
class="keyword">boolean</span> enable, String host)</span>
</span>{</div><div class="line"> WXEnvironment.sRemoteDebugMode =
enable;</div><div class="line"> WXEnvironment.sRemoteDebugProxyUrl = <span
class="string">"ws://"</span> + host + <span
class="string">":8088/debugProxy/native"</span>;</div><div
class="line">}</div></pre></td></tr></table></figure>
-<p><strong>è§åäºï¼ä¿®æ¹ <code>sRemoteDebugMode</code>
åä¸å®è¦è°ç¨<code>`WXSDKEngine.reload()</code>ã</strong></p>
-<p>ä¸è¬ä¾èªªï¼å¨ä¿®æ¹äº <code>WXEnvironment.sRemoteDebugMode</code>
以åè°ç¨äº <code>WXSDKEngine.reload()</code> æ¹æ³æè½å¤ä½¿
Debug模å¼çæã<code>WXSDKEngine.reload()</code> ç¨æ¥éç½® Weex
çè¿è¡ç¯å¢ä¸ä¸æï¼å¨åæ¢è°è¯æ¨¡å¼æ¶éè¦è°ç¨æ¤æ¹æ³æ¥å建æ°ç
Weex è¿è¡æ¶å DebugBridge 并å°ææç JS
è°ç¨æ¡¥æ¥å°è°è¯æå¡å¨æ§è¡ãå¨ reload è¿ç¨ä¸ä¼è°ç¨
launchInspectorï¼è¿å°±æ¯ SDK æ§å¶ Debug 模å¼ææ ¸å¿ä¸ä¸ªæ¹æ³ï¼å
¶ä¼ å
¥åæ°å³ä¸º <code>sRemoteDebugMode</code>ï¼è¥ä¸º <code>true</code>
å该æ¹æ³ä¸å°è¯ä»¥åå°çæ¹å¼è·å DebugBridge ç¨æ¥å¨è¿ç«¯æ§è¡
JSï¼å¦åå¨æ¬å°è¿è¡ã</p>
-<figure class="highlight java"><table><tr><td class="code"><pre><div
class="line"><span class="function"><span class="keyword">private</span> <span
class="keyword">void</span> <span class="title">launchInspector</span><span
class="params">(<span class="keyword">boolean</span> remoteDebug)</span>
</span>{</div><div class="line"> <span class="keyword">if</span>
(WXEnvironment.isApkDebugable()) {</div><div class="line"> <span
class="keyword">try</span> {</div><div class="line"> <span
class="keyword">if</span> (mWxDebugProxy != <span class="keyword">null</span>)
{</div><div class="line"> mWxDebugProxy.stop();</div><div
class="line"> }</div><div class="line">
HackedClass<Object> debugProxyClass = WXHack.into(<span
class="string">"com.taobao.weex.devtools.debug.DebugServerProxy"</span>);</div><div
class="line"> mWxDebugProxy = (IWXDebugProxy)
debugProxyClass.constructor(Context.class, WXBridgeManager.class)</div><div
class="lin
e"> .getInstance(WXEnvironment.getApplication(),
WXBridgeManager.<span class="keyword">this</span>);</div><div class="line">
<span class="keyword">if</span> (mWxDebugProxy != <span
class="keyword">null</span>) {</div><div class="line">
mWxDebugProxy.start();</div><div class="line"> <span
class="keyword">if</span> (remoteDebug) {</div><div class="line">
mWXBridge = mWxDebugProxy.getWXBridge();</div><div class="line"> }
<span class="keyword">else</span> {</div><div class="line"> <span
class="keyword">if</span> (mWXBridge != <span class="keyword">null</span>
&& !(mWXBridge <span class="keyword">instanceof</span> WXBridge))
{</div><div class="line"> mWXBridge = <span
class="keyword">null</span>;</div><div class="line"> }</div><div
class="line"> }</div><div class="line"> }</div><div
class="line"> } <span class="keyword">catch</span> (HackAsserti
onException e) {</div><div class="line"> WXLogUtils.e(<span
class="string">"launchInspector HackAssertionException "</span>, e);</div><div
class="line"> }</div><div class="line"> }</div><div
class="line">}</div></pre></td></tr></table></figure>
-<p>åªè¦éµå¾ªä¸é¢çåçï¼å¼å¯ Debug
模å¼çæ¹å¼åæ¶æºå¯ç±æ¥å
¥æ¹çµæ´»å®ç°ãä» launchInspector
å¯ä»¥çå°ï¼SDK 对 devtools ç aar å
并æ 强ä¾èµ,æ们ç App
åªéè¦å¨ Debug å
ä¸æå
该 aar å³å¯ï¼è¿æ ·å¤å°å¯ä»¥ç¼è§£å
大å°é®é¢åå®å
¨é®é¢ã</p>
-<p><strong>ä¾å¤ï¼</strong> <em>è¥ä¿®æ¹
<code>WXEnvironment.sRemoteDebugMode</code> çæ¶æºå¨
<code>WXBridgeManager</code> åå§åå restart åä¹åå
<code>WXSDKEngine.reload()</code> å¯å¿½ç¥.</em></p>
-<p><strong>è§åä¸ï¼éè¿ååº <code>ACTION_DEBUG_INSTANCE_REFRESH</code>
广æåæ¶å·æ°ã</strong></p>
-<p>广æ <code>ACTION_DEBUG_INSTANCE_REFRESH</code> å¨è°è¯æ¨¡å¼åæ¢å
Chrome è°è¯é¡µé¢å·æ°æ¶ååºï¼ä¸»è¦ç¨æ¥éç¥å½åç Weex容å¨ä»¥
Debug 模å¼éæ°å è½½å½å页ãå¨ playground
ä¸çå¤çè¿ç¨å¦ä¸ï¼</p>
-<figure class="highlight java"><table><tr><td class="code"><pre><div
class="line"><span class="keyword">public</span> <span class="class"><span
class="keyword">class</span> <span
class="title">RefreshBroadcastReceiver</span> <span
class="keyword">extends</span> <span class="title">BroadcastReceiver</span>
</span>{</div><div class="line"> <span
class="meta">@Override</span></div><div class="line"> <span
class="function"><span class="keyword">public</span> <span
class="keyword">void</span> <span class="title">onReceive</span><span
class="params">(Context context, Intent intent)</span> </span>{</div><div
class="line"> <span class="keyword">if</span>
(IWXDebugProxy.ACTION_DEBUG_INSTANCE_REFRESH.equals(intent.getAction()))
{</div><div class="line"> <span class="keyword">if</span> (mUri !=
<span class="keyword">null</span>) {</div><div class="line"> <span
class="keyword">if</span> (TextUtils.equals(mUri.getScheme(), <span
class="string">"http"</span>)
|| TextUtils.equals(mUri.getScheme(), <span class="string">"https"</span>))
{</div><div class="line">
loadWXfromService(mUri.toString());</div><div class="line"> } <span
class="keyword">else</span> {</div><div class="line">
loadWXfromLocal(<span class="keyword">true</span>);</div><div class="line">
}</div><div class="line"> }</div><div class="line">
}</div><div class="line"> }</div><div
class="line">}</div></pre></td></tr></table></figure>
-<p>å¦ææ¥å
¥æ¹ç容å¨æªå¯¹è¯¥å¹¿æåå¤çï¼é£ä¹å°ä¸æ¯æå·æ°åè°è¯è¿ç¨ä¸ç¼è¾ä»£ç
æ¶ç watch åè½ã</p>
-<h2 id="æ¥å
¥ç¤ºä¾"><a href="#æ¥å
¥ç¤ºä¾" class="headerlink" title="æ¥å
¥ç¤ºä¾"></a>æ¥å
¥ç¤ºä¾</h2><p>æç®åæ¹å¼å°±æ¯å¤ç¨ Playground çç¸å
³ä»£ç ï¼æ¯å¦æ«ç åå·æ°ç模åï¼ä½æ¯æ«ç ä¸æ¯å¿
é¡»çï¼å®åªæ¯ä¸ App éä¿¡çä¸ç§å½¢å¼ï¼äºç»´ç éçå
å«
DebugServer IP å bundle å°åçä¿¡æ¯ï¼ç¨äºå»ºç« App å Debugger
Server ä¹é´çè¿æ¥åå¨æå è½½ bundleãå¨ Playground
ä¸ç»åºäºä¸¤ç§å¼å¯ debug 模å¼çèä¾ã</p>
-<ul>
-<li>èä¾1ï¼éè¿å¨ <code>XXXApplication</code> ä¸è®¾ç½®å¼å
³æå¼è°è¯æ¨¡å¼</li>
-</ul>
-<figure class="highlight java"><table><tr><td class="code"><pre><div
class="line"><span class="keyword">public</span> <span class="class"><span
class="keyword">class</span> <span class="title">MyApplication</span> <span
class="keyword">extends</span> <span class="title">Application</span>
</span>{</div><div class="line"> <span class="function"><span
class="keyword">public</span> <span class="keyword">void</span> <span
class="title">onCreate</span><span class="params">()</span>
</span>{</div><div class="line"> <span
class="keyword">super</span>.onCreate();</div><div class="line">
initDebugEnvironment(<span class="keyword">true</span>, <span
class="string">"xxx.xxx.xxx.xxx"</span><span
class="comment">/*"DEBUG_SERVER_HOST"*/</span>);</div><div class="line">
}</div><div class="line">}</div></pre></td></tr></table></figure>
-<p>è¿ç§æ¹å¼æç´æ¥ï¼å¨ä»£ç ä¸ç´æ¥ hardcode
äºå¼å¯è°è¯æ¨¡å¼ï¼å¦æå¨ SDK åå§åä¹åè°ç¨çè³è¿
<code>WXSDKEngine.reload()</code> é½ä¸éè¦è°ç¨ï¼æ¥å
¥æ¹å¦æéè¦æ´çµæ´»ççç¥å¯ä»¥å° <code>initDebugEnvironment(boolean
enable, String host)</code> å <code>WXSDKEngine.reload()</code>
ç»åå¨ä¸èµ·å¨åéçä½ç½®åæ¶æºè°ç¨å³å¯ã</p>
-<ul>
-<li>èä¾2ï¼éè¿æ«ç æå¼è°è¯æ¨¡å¼</li>
-</ul>
-<p>Playground ä¸è¾å¤ç使ç¨æ«ç çæ¹å¼ä¼ éä¿¡æ¯ï¼ä¸ä»
ç¨è¿ç§æ¹å¼æ§å¶ Debug 模å¼çå¼å
³,èä¸è¿éè¿å®æ¥ä¼ å
¥ bundle
ç url
ç´æ¥è°è¯ãåºå½è¯´å¨å¼åä¸è¿ç§æ¹å¼æ¯æ¯è¾é«æçï¼çå»äºä¿®æ¹
SDK 代ç éå¤ç¼è¯åå®è£
App ç麻ç¦ï¼ç¼ºç¹å°±æ¯è°è¯å·¥å
·è¿ç§æ¹å¼æ¥å
¥éè¦ App å
·ææ«ç åå¤çç¹å®è§åäºç»´ç
çè½åãé¤äº Playground ä¸çæ¹å¼ï¼æ¥å
¥æ¹äº¦å¯æ
¹æ®ä¸å¡åºæ¯å¯¹ Debugger åæ¥å
¥æ¹å¼è¿è¡äºæ¬¡å¼åã</p>
-<p>Playground éæçå
·ä½ä»£ç å¯åèå¦ä¸ä¸¤ä¸ªæ件ï¼</p>
-<ul>
-<li><p>å¼å
³æ§å¶ï¼ä¸»è¦åè对äºç»´ç çå¤çé¨åï¼è¯¦è§ <a
href="https://github.com/weexteam/weex_devtools_android/blob/master/playground/app/src/main/java/com/alibaba/weex/WXApplication.java"
target="_blank" rel="external"><code>WXApplication.java</code></a></p>
-</li>
-<li><p>å·æ°æ§å¶ ï¼ä¸»è¦åèæ¯å¯¹å®¹å¨
<code>ACTION_DEBUG_INSTANCE_REFRESH</code>çå¤çï¼è¯¦è§ <a
href="https://github.com/weexteam/weex_devtools_android/blob/master/playground/app/src/main/java/com/alibaba/weex/WXPageActivity.java"
target="_blank" rel="external"><code>WXPageActivity.java</code></a></p>
-</li>
-</ul>
-<h2 id="çåå°è¯"><a href="#çåå°è¯" class="headerlink"
title="çåå°è¯"></a>çåå°è¯</h2><h3 id="å置工ä½"><a
href="#å置工ä½" class="headerlink"
title="å置工ä½"></a>å置工ä½</h3><p>å¦ææªå®è£
Debugger
Serverï¼å¨å½ä»¤è¡æ§è¡ <code>npm install -g weex-toolkit</code>
æ¢å¯ä»¥å®è£
è°è¯æå¡å¨ï¼è¿è¡å½ä»¤ <code>weex debug</code>
å°±ä¼å¯å¨ DebugServer 并æå¼ä¸ä¸ªè°è¯é¡µé¢ï¼è¯¦æ
请æ¥ç <a
href="../../guide/index.html">ãGet
Startedã</a>ï¼ã页é¢ä¸æ¹ä¼å±ç¤ºä¸ä¸ªäºç»´ç ï¼è¿ä¸ªäºç»´ç
ç¨äºå App ä¼ é Server 端çå°å建ç«è¿æ¥ã</p>
-<p><img src="//img.alicdn.com/tps/TB1aKy4NXXXXXacXVXXXXXXXXXX-1019-756.png"
alt="_"></p>
-<h3 id="å¼å§è°è¯"><a href="#å¼å§è°è¯" class="headerlink"
title="å¼å§è°è¯"></a>å¼å§è°è¯</h3><p>å¦æä½ ç App
客æ·ç«¯å®æäºä»¥ä¸æ¥éª¤é£ä¹æåä½ å·²ç»æ¥å
¥å®æ¯ï¼å¯ä»¥æå¿«çè°è¯ Weex bundle
äºï¼è°è¯ä½éªåç½é¡µè°è¯ä¸è´ï¼å»ºè®®æ°æé¦å
ç¨å®æ¹ç
Playground ä½éªä¸ä¸è°è¯æµç¨ãåªéè¦å¯å¨ App æ«æ Chrome
è°è¯é¡µé¢ä¸æ¹ç第ä¸ä¸ªäºç»´ç å³å¯å»ºç«ä¸ Debugger Server
çéä¿¡ï¼Chorome
çè°è¯é¡µé¢å°ä¼ååºè¿æ¥æåç设å¤ä¿¡æ¯ã</p>
-<p><img src="//img.alicdn.com/tps/TB13fwSKFXXXXXDaXXXXXXXXXXX-887-828.png"
alt="devtools-main"></p>
-<h4 id="主è¦æ¥éª¤å¦ä¸"><a href="#主è¦æ¥éª¤å¦ä¸" class="headerlink"
title="主è¦æ¥éª¤å¦ä¸"></a>主è¦æ¥éª¤å¦ä¸</h4><ol>
-<li>å¦æä½ è¦å è½½æå¡å¨ä¸ bundleï¼ç¬¬ä¸æ¥å°±æ¯è¦è®©ä½ ç bundle
sever è·èµ·æ¥. å¨ Playground ä¸ç¹å«ç®åï¼åªéè¦ä½ å° Weex æºç
ç®å½ä¸ï¼è¿è¡ <code>./start</code> å³å¯ã</li>
-<li>å½ä»¤è¡è¿è¡ <code>weex debug</code> å¯å¨ Debugger Serverï¼Chrome
å°ä¼æå¼ä¸ä¸ªç½é¡µï¼å¨ç½é¡µä¸æ¹æä¸ä¸ªäºç»´ç
åç®åçä»ç»ã</li>
-<li>å¯å¨ App 并确认æå¼è°è¯æ¨¡å¼ãä½
å°å¨ä¸ä¸æ¥ä¸æå¼çç½é¡µä¸çå°ä¸ä¸ªè®¾å¤å表ï¼æ¯ä¸ªè®¾å¤é¡¹é½æ两个æé®ï¼åå«æ¯
<code>Debugger</code> å <code>Inspector</code>ã</li>
-<li>ç¹å» <code>Inspector</code> Chrome å°å建 Inspector ç½é¡µï¼ç¹å»
<code>Debugger</code> Chrome å°å建 Debugger ç½é¡µï¼äºè
æ¯ç¸äºç¬ç«çåè½ï¼ä¸ç¸äºä¾èµã</li>
-</ol>
-<hr>
-<h2 id="èæ¯ç¥è¯"><a href="#èæ¯ç¥è¯" class="headerlink"
title="èæ¯ç¥è¯"></a>èæ¯ç¥è¯</h2><h3 id="Devtools-ç»ä»¶ä»ç»"><a
href="#Devtools-ç»ä»¶ä»ç»" class="headerlink" title="Devtools
ç»ä»¶ä»ç»"></a>Devtools ç»ä»¶ä»ç»</h3><p>Devtools æ©å±äº <a
href="https://developer.chrome.com/devtools/docs/debugger-protocol"
target="_blank" rel="external">Chrome Debugging
Protocol</a>ï¼å¨å®¢æ·ç«¯åè°è¯æå¡å¨ä¹é´çéç¨ <a
href="https://en.wikipedia.org/wiki/JSON-RPC" target="_blank"
rel="external">JSON-RPC</a>
ä½ä¸ºéä¿¡æºå¶ï¼æ¬è´¨ä¸è°è¯è¿ç¨æ¯ä¸¤ä¸ªè¿ç¨é´ååï¼ç¸äºäº¤æ¢æ§å¶æåè¿è¡ç»æçè¿ç¨ãæ´å¤ç»èè¿è¯·é
读 <a href="http://www.atatech.org/articles/59284" target="_blank"
rel="external">Weex Devtools Debugger çææ¯éåå®å½</a>è¿ç¯æç«
ã</p>
-<ul>
-<li><p><strong>客æ·ç«¯</strong></p>
-<p>Devtools 客æ·ç«¯ä½ä¸º aar 被éæ App ä¸ï¼å®éè¿ webscoket
è¿æ¥å°è°è¯æå¡å¨ï¼æ¤å¤å¹¶æªåå®å
¨æ£æ¥ãåºäºå®å
¨æºå¶åå
大å°èèï¼å¼ºç建议æ¥å
¥æ¹åªå¨ debug çæ¬ä¸æå
æ¤ aarã</p>
-</li>
-<li><p><strong>æå¡å¨</strong></p>
-<p>Devtools
æå¡å¨ç«¯æ¯ä¿¡æ¯äº¤æ¢çä¸æ¢ï¼æ¢è¿æ¥å®¢æ·ç«¯ï¼åè¿æ¥
Chromeï¼å¤§å¤æ°æ
åµä¸æ®æ¼ä¸ä¸ªæ¶æ¯è½¬åæå¡å¨å Runtime Manager
çè§è²ã</p>
-</li>
-<li><p><strong>Web端</strong></p>
-<p>Chrome ç V8 å¼ææ®æ¼ç Bundle javascript runtime çè§è²ãå¼å¯
debug 模å¼åï¼ææç bundle js 代ç
é½å¨è¯¥å¼æä¸è¿è¡ãå¦ä¸æ¹é¢æ们ä¹å¤ç¨äº Chrome
å端çè°è¯çé¢ï¼ä¾å¦è®¾ç½®æç¹ï¼æ¥çè°ç¨æ çï¼è°è¯é¡µå
³éå runtime å°ä¼è¢«æ¸
çã</p>
-</li>
-</ul>
-<p>è°è¯ç大è´è¿ç¨è¯·åèå¦ä¸æ¶åºå¾ã</p>
-<p><img src="//img.alicdn.com/tps/TB1igLoMVXXXXawapXXXXXXXXXX-786-1610.jpg"
alt="debug sequence diagram"></p>
-<h2 id="FAQ"><a href="#FAQ" class="headerlink"
title="FAQ"></a>FAQ</h2><p>å¨åä¸å¡æ¥å
¥è¿ç¨ä¸ï¼éç»åç°ä¸äºé®é¢ï¼å¯¹é«é¢æ¬¡çé®é¢è§£çå¦ä¸ï¼å¼åä¸ä»¥
weex debug -V çæ¹å¼å¯å¨ Debugger Server å¯ä»¥çå° server 端ç log
ä¿¡æ¯ï¼å¯¹ç
§ä¸æä¸çæ¶åºå¾å¯¹äºå®ä½é®é¢è¿æ¯é常æ帮å©ï¼å»ºè®®è°è¯ä¸é»è®¤å¼å¯
server 端 logã</p>
-<ol>
-<li><p><strong>æ«ç App å¨ DebugServerProxy ä¸æåº class not
found</strong></p>
-<p>å·²ç¥çåå å¦ä¸ï¼</p>
-<ul>
-<li>weex_inspector 以 provided æ¹å¼å¼ç¨çå
æ¯å¦å¼å
¥æåï¼å¦
fastjson çã</li>
-<li>weex_inspector 以 compile æ¹å¼å¼ç¨çå
æ¯å¦å¼å
¥æåï¼æäº
app éæ°å¼å
¥ <code>com.squareup.okhttp:okhttp:2.3.0</code> å
<code>com.squareup.okhttp:okhttp-ws:2.3.0</code> åä¸åæ¥éã</li>
-<li>æ··æ·è§åå½±ååå°ã</li>
-</ul>
-</li>
-<li><p><strong>playground æ«ç è°è¯ crash</strong></p>
-<p>å·²ç¥çåå å¦ä¸ï¼</p>
-<ul>
-<li>ç³»ç»ä¸º android 6+ï¼å´©æºä¿¡æ¯æ示è¿ç¨éè¦
<code>android.permission.READ_PHONE_STATE</code> æéï¼ä»£ç
ä¸æªåæéæ£æ¥ï¼å¨ 0.0.2.7
çæ¬ä»¥å已修å¤ï¼ä¸åéè¦æ¤æéã</li>
-</ul>
-</li>
-<li><p><strong>æ«ç
å设å¤å表页并没æåºç°æç设å¤ä¿¡æ¯</strong></p>
-<p>å·²ç¥çåå å¦ä¸ï¼</p>
-<ul>
-<li>Debugger Server åææºå¨ä¸åç½æ®µï¼è¢«é²ç«å¢é离ã</li>
-<li>ææºè¿æ¥äº PC 端ç代çï¼å½åå°ä¸æ¯æã</li>
-<li>å¤è¿ç¨è¿æ¥æå¡å¨ç«¯çåä¸ç«¯å£ï¼æ¯å¦å¨ Application ç
<code>onCreate</code> ä¸åå§å
sdkï¼è¥å¤ä¸ªè¿ç¨è¿æ¥æå¡å¨ç«¯çåä¸ç«¯å£åæ¥éï¼å¨ 0.0.2.3
çæ¬ä»¥åå·²æ¯æå¤è¿ç¨æ æ¤é®é¢ã</li>
-</ul>
-</li>
-<li><p><strong>è°è¯è¿ç¨ä¸é¢ç¹å·æ°è¿æ¥å¤±è´¥ï¼Server
端æ示éæ°å¯å¨ Appï¼éå¿
ç°</strong></p>
-<p>å·²ç¥çåå å¦ä¸ï¼</p>
-<ul>
-<li>å¤çº¿ç¨æä½ç½ç»è¿æ¥å¼èµ·ï¼å¨é¢ç¹çå³æå³è¿æ¶å®¹æ触åãå¨
0.0.7.1 çæ¬å·²ä¿®å¤ã</li>
-</ul>
-</li>
-</ol>
-
- </div>
-
-</article>
-</div>
-
- <footer id="footer">
- <div class="row clearfix">
- <div class="dropdown select-lang">
- <a href="javascript:;" class="dropdown-toggle">
- Language
- <span class="caret"></span>
- </a>
- <ul class="dropdown-menu pick-lang">
- <li>
- <a href="/references/advanced/integrate-devtool-to-android.html"
data-lang="en">English</a>
- </li>
- <li>
- <a href="/cn/references/advanced/integrate-devtool-to-android.html"
data-lang="zh-cn">ä¸æ</a>
- </li>
- </ul>
- </div>
- </div>
- <div class="disclaimer">
- <div><img
src="//gw.alicdn.com/tfs/TB1pTBZQFXXXXX9XXXXXXXXXXXX-794-280.png" width="200px"
alt="Apache Incubator"></div>
- <div><span class="title">Disclaimer:</span> Apache Weex is an effort
undergoing incubation at The Apache Software Foundation (ASF), sponsored by the
Apache Incubator. Incubation is required of all newly accepted projects until a
further review indicates that the infrastructure, communications, and decision
making process have stabilized in a manner consistent with other successful ASF
projects. While incubation status is not necessarily a reflection of the
completeness or stability of the code, it does indicate that the project has
yet to be fully endorsed by the ASF.</div>
- <br/>
- </div>
- <hr>
- <div class="row">
- <p> <img src="//gw.alicdn.com/tfs/TB1bg8SQFXXXXcHXXXXXXXXXXXX-85-170.png"
height="50px" alt="Apache"><span>Copyright(c) 2017 The Apache Software
Foundation. Licensed under the </span> <a
href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a></p>
- </div>
- <div class="row clearfix">
- <div></div>
- </div>
-</footer>
- <div style="display: none;">
- <script src="//s95.cnzz.com/z_stat.php?id=1261496509&web_id=1261496509"
language="JavaScript"></script>
-</div>
-
- <script src="/js/reqwest.js"></script>
- <script src="/js/common.js"></script>
-</body>
-</html>