React native android 最常見的10個問題

來源:互聯網
上載者:User

標籤:

這裡逐條記錄下最容易遇到的React native android 相關case:

  • 1. app啟動後,紅色介面,unable load jsbundle :
  1. 解決辦法:一般來說就是,你是用dev-serve方式,且你的server沒有正確匹配上,如果是用手機跑的話,需要pc和手機在同一個wifi下,且通過menu鍵設定menu-ip為pc的ip,如果是模擬器,則不需要手動設定ip,設定的話,反倒會出錯
  • 2. app啟動後,紅色介面,unRegisteredProject
  1. 提示提示什麼,你的app沒有在啟動時候註冊
  2. 解決辦法:這個後面也是一看就知道的錯誤,就是你的index.android.bundle中的最下面寫的那個
  3. ‘componetNameInYourLocalProject’在你的java代碼中不是叫這個名字,自己check下,立刻就能修複

  • 3. require(”xxx”)的組件失敗
  1. js代碼中有時候會出現require(”xxx”)的組件出錯 解決辦法:檢測該node組件是否存在你的伺服器上,如果是自己封裝的NativeModule話可以直接使用

  • 4.調試
  1. 解決辦法:可以利用pc端的chrome的 debug工具進行js端的調試,native的調試就只能用logcat跟蹤了,目前看到大部分的錯誤都是自己代碼的問題,ReactAndroid本身的Crash較少
  • 5.so庫的問題
  1. gradle的話,可以通到ndk filter來控制:

android { defaultConfig { ndk { abiFilters “x86″, “armeabi-v7a” } }

  1. maven的話,可以手動通過libs下的so拷貝來解決問題。
  2. 這塊有個比較大的坑就是,預設引入的jsc.aar中存在armabi檔案夾,但是裡面沒有jsc.so 。導致在多個地方,去編碼源碼時ndk方面會報錯。
  • 6. 關於裝置MinSdkVerison
  1. 預設Android要求4.1以上裝置(4.0根據網路資料大概佔比0.7比例,隨著大部分app已經不支援4.0以下裝置了,這塊倒還可以接受)
  2. 剛開始一直使用一個5.0的裝置進行ReactAndorid的測試和開發,後來方向,其實搞上一個5.0+的Genymotion模擬器聯調起來效率會更高。
  • 7.UIExplorer demo問題
  1. 之前一直在看具體接入和代碼實現方面的,當大頭的工作回過頭來看,其實當時應該先從這個UIExploror入手的話,效率和進度應該會有較大提高的。
  2. 這塊需要編譯react原始碼,如果遇到了https://github.com/facebook/react-native/issues/3976 的問題,可以使用我在下面回複的方法hook,但是本質原因還是那個armabi jsc.so的問題

  • 8.能力覆蓋範圍
  1. 根據團隊之前React iOS的經驗,跟進主幹代碼,依賴RN本身提供的UI組件可以滿足大部分業務情境。
  2. 當然自己如果想複用之前團隊沉澱下來的,配合著UIManager和UIModule這塊本身工作量到也不算太大。
  3. 但是應該儘可能的和團隊以後的JS端和iOS端的協議介面保持一致,讓React最大的意義發揮出來,“lean once run everywhere”
  • 9.資料安全
  1. 0.14之前只支援dev-pc 和assert方式,從0.14.0 realease版本開始支援local file patch載入方式,最新版0.15.1。
  2. 因為如果要動態能力,js必定是走網路端下發的,js本身是明文(即使JS做了混淆),資料防劫持的保護還是必須要做的,這點可以配合https防篡改+sign校正來做
  • 10.JNI訊息輪訓帶來的影響
  1. 由於JNI的通訊限制,Java層和Native通訊是單向的,且為了保證RN的16ms的渲染頻率,所有Java-Native-jscore層的通訊都是非同步,這樣可能對於JAVA層的UI渲染是個效能問題。
  2. 當訊息量非常大或ListView頁面非常複雜時候,每1層Cell的渲染要以Css-ScrowllerView模型需要UI線程的連續繪製,對於瀑布流負責listview等可能會存在效能問題,但是該問題本身肯定是優於H5的體驗的

轉:http://codecloud.net/react-native-android-10-problems-6573.html

React native android 最常見的10個問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.