react native對(duì)接Android原生模塊SDK

對(duì)接原生模塊方面毯焕,其實(shí)官網(wǎng)講得已經(jīng)非常詳細(xì)了打厘,這里不多做贅述望伦,詳情點(diǎn)擊這里疹启。
雖然詳細(xì)古程,但是還是得補(bǔ)充一些點(diǎn),如下:
1喊崖、創(chuàng)建自定義原生模塊文件之前需要先將自己的sdk放置在/android/app/libs下(如果沒有l(wèi)ibs挣磨,則需要新建該文件夾,然后將sdk放進(jìn)去)
2雇逞、修改/android/app/build.gradle文件,添加如下配置:

android {
    ...
    defaultConfig {
        ...
        ndk {//設(shè)置支持的SO庫(kù)架構(gòu)
            abiFilters 'armeabi-v7a','arm64-v8a' //,'x86', 'arm64-v8a'
        }
        sourceSets {
            main {
                jniLibs.srcDirs = ['libs'] 
            }
        }
    }
}
dependencies {
    ...
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation files('libs/xxxx.jar')
}

3茁裙、接下來(lái)就按照官網(wǎng)步驟進(jìn)行即可塘砸。(需要注意的是官網(wǎng)中有的代碼中逗號(hào)用的是中文逗號(hào),不仔細(xì)看可能看不出來(lái)晤锥,這個(gè)也是踩的其中一個(gè)坑5羰摺)


7d228f1a9bb5714de60969137013464.png
image.png

本文僅指出兩個(gè)例子,其他地方還需大家自行編譯嘗試
4矾瘾、需要注意的地方:kt文件中的日志輸出必須傳遞兩個(gè)參數(shù)(而且還得是string類型的)女轿,第一個(gè)參數(shù)是模塊名稱,第二個(gè)參數(shù)可以是你想打印的結(jié)果壕翩,和前端的console.log()不太一樣蛉迹,這點(diǎn)值得注意。


image.png

5放妈、查看第四點(diǎn)的日志方法是在Android Studio屏幕的左下角點(diǎn)擊logCat婿禽。如果結(jié)果太多,右邊有搜索框大猛,輸入你的日志方法中的第一個(gè)參數(shù)即可扭倾。


image.png

6、對(duì)接sdk模塊時(shí)挽绩,由于sdk中的方法都是異步的膛壹,所以需要導(dǎo)入promise包
import com.facebook.react.bridge.Promise
@ReactMethod fun init(promise: Promise) { // 此方法寫在自己定義的模塊kt文件中
        // 獲取應(yīng)用程序上下文
        val context: Context = reactApplicationContext.applicationContext // 該context也需進(jìn)行導(dǎo)入 import android.content.Context

        // 調(diào)用 SDK 的初始化方法并傳入上下文
        val initResult: Int = PlayerSdk.init(context)
        // 將結(jié)果通過回調(diào)函數(shù)返回給 JavaScript 端
        // 根據(jù)結(jié)果創(chuàng)建 Promise 對(duì)象并返回給 JavaScript 端
        if (initResult == 0) {
            promise.resolve("SDK_OK")
        } else {
            promise.reject("SDK 初始化失敗")
        }
        Log.d("initResult", ""+initResult+"")
    }

7、前端進(jìn)行調(diào)用時(shí)也需要使用.then進(jìn)行調(diào)用

import { NativeModules } from 'react-native';
const { XXXModule } = NativeModules; // 自己定義的模塊名稱
  const [result, setResult] = useState(''); // 修改state進(jìn)行展示唉堪,可以根據(jù)自己的需求來(lái)
    PlayerSdkModule.init().then((message) => {
      setResult(message)
      console.log(message);
    })
      .catch((error) => {
        result = error
        console.error(error);
      });
return (
    <View>
      <Text>{result}</Text>
    </View>

  );
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末模聋,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子唠亚,更是在濱河造成了極大的恐慌链方,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,496評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灶搜,死亡現(xiàn)場(chǎng)離奇詭異祟蚀,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)割卖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門前酿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鹏溯,你說(shuō)我怎么就攤上這事罢维。” “怎么了丙挽?”我有些...
    開封第一講書人閱讀 157,091評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵肺孵,是天一觀的道長(zhǎng)匀借。 經(jīng)常有香客問我,道長(zhǎng)平窘,這世上最難降的妖魔是什么吓肋? 我笑而不...
    開封第一講書人閱讀 56,458評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮初婆,結(jié)果婚禮上蓬坡,老公的妹妹穿的比我還像新娘猿棉。我一直安慰自己磅叛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,542評(píng)論 6 385
  • 文/花漫 我一把揭開白布萨赁。 她就那樣靜靜地躺著弊琴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪杖爽。 梳的紋絲不亂的頭發(fā)上敲董,一...
    開封第一講書人閱讀 49,802評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音慰安,去河邊找鬼腋寨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛化焕,可吹牛的內(nèi)容都是我干的萄窜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,945評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼撒桨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼查刻!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起凤类,我...
    開封第一講書人閱讀 37,709評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤穗泵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后谜疤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體佃延,經(jīng)...
    沈念sama閱讀 44,158評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,502評(píng)論 2 327
  • 正文 我和宋清朗相戀三年夷磕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了苇侵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,637評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡企锌,死狀恐怖榆浓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撕攒,我是刑警寧澤陡鹃,帶...
    沈念sama閱讀 34,300評(píng)論 4 329
  • 正文 年R本政府宣布烘浦,位于F島的核電站,受9級(jí)特大地震影響萍鲸,放射性物質(zhì)發(fā)生泄漏闷叉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,911評(píng)論 3 313
  • 文/蒙蒙 一脊阴、第九天 我趴在偏房一處隱蔽的房頂上張望握侧。 院中可真熱鬧,春花似錦嘿期、人聲如沸品擎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,744評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)萄传。三九已至,卻和暖如春蜜猾,著一層夾襖步出監(jiān)牢的瞬間秀菱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,982評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工蹭睡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衍菱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,344評(píng)論 2 360
  • 正文 我出身青樓肩豁,卻偏偏與公主長(zhǎng)得像脊串,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蓖救,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,500評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容