自定義一個本身的Android端react-native模塊

 

參考資料自定義 React Native 模塊React Native實現一個自定義模塊node

在react-native項目中老是會遇到須要用到一些原生的功能,或者第三方模塊不能知足本身需求的狀況,這時候就須要本身來封裝一個模塊了。react

在網上找到的不少資料都是copy出來的,因此我決定本身寫一篇文章,記錄本身在定義原生模塊時遇到的一些問題。android

在上面兩篇文章中其實講的很清楚了。git

react-native原生模塊其實就是一個android項目加一個npm項目。github

咱們可使用react-native-create-library這個腳手架工具來快速生成一個基礎的框架。可是這個腳手架工具是第三方開發者開發的,目前已經有9個月沒有更新過了。npm

我本身在用這個腳手架的時候也遇到了一些問題。json

在生成我本身的項目時,儘管我在build.gradle文件中使用的是react-native

implementation "com.facebook.react:react-native:+"

 可是gradle幫我依賴的react-native版本號依然是0.20.1,而我實際項目中引用的react-native版本已是0.59.9了。api

通過一番折磨之後,才發如今maven倉庫中,fackbook發佈的最新的react-native版本就是0.20.1,不知道這是爲何。框架

通常狀況下,這個是沒什麼太大的影響的。只是在編譯的時候提示說使用了廢棄的方法什麼的。可是若是你的項目中正好用到的新的版本的一個api,那麼就須要設置一下了。

步驟以下:

  1. 在package.json中定義devDependencies,表示你依賴的react-native版本號
    "devDependencies": {
      "react-native": "^0.59.9"
    },

     

  2. 在build.gradle文件中定義maven倉庫,表示從npm倉庫中加載react-native
    allprojects {
        repositories {
            mavenLocal()
            google()
            jcenter()
            maven {
                // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
                url "$rootDir/../node_modules/react-native/android"
            }
        }
    }

     

  3. 從新執行gradle,就能夠引用最新的react-native版本依賴了。
相關文章
相關標籤/搜索