精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

史上最詳細的Android原生APP中添加ReactNative進行混合開發教程

移動開發 Android
混合開發已經是未來的一種趨勢,混合開發中使用的技術很多,不外乎Html5、JS框架通過一定的技術和原始交互,目前主流混合開發React Native、Cordova、APICloud、MUI等等,目前網上寫教程的人很多,但是React Native更新速度很快,根據他們的教程,中間會遇到各種問題,今天我和大家一起踩踩各種坑,讓小伙伴們快速集成到自己的APP中。

背景

React Native出來已經一段時間了,相對來說也算穩定了,在很多的企業中都實際使用他們,混合開發已經是未來的一種趨勢,混合開發中使用的技術很多,不外乎Html5、JS框架通過一定的技術和原始交互,目前主流混合開發React Native、Cordova、APICloud、MUI、AppCan、Sencha Touch、jQuery Mobile等等(其他的小伙伴們自己收集),目前網上寫教程的人很多,但是React Native更新速度很快,根據他們的教程,中間會遇到各種問題,今天我和大家一起踩踩各種坑,讓小伙伴們快速集成到自己的APP中。

集成的小伙伴一定要注意圖片中標注和備注哦,不然有可能會走彎路哦

集成步驟

參考官方文檔->react native 文檔

本文使用開發環境 Android studio

注意***的React Native支持的***的SDK為16(android4.1)

npm環境,小伙伴們自己安裝 nodeJS自己安裝,可以參考官方文檔安裝環境,有問題可以發411437734@qq.com溝通

創建Android項目(已有項目跳過)

1.打開Android studio   

打開Android studio 

2.輸入項目名稱,選擇項目目錄,點擊next   

輸入項目名稱    

選擇項目目錄,點擊next    

    

 

至此項目創建完成(需要注意的是***的React Native支持***SDK版本為16 android4.1)

React Native集成到上面我們創建的ReactNativeAPPDemo中

參考Facebook react native文檔

1.進入項目根目錄,添加JS到項目中-點擊Android studio中的Terminal(如下圖)   

進入項目根目錄,添加JS到項目中-點擊Android studio中的Terminal 

分別執行一下語句

  1. npm init 
  2. npm install --save react react-native 
  3. curl -o .flowconfig https://raw.githubusercontent.com/facebook/react-native/master/.flowconfig  

init 主要根據提醒生成package.json文件

install --save react react-native 安裝React 和React Native

curl -o .flowconfig https://raw.githubusercontent.com/facebook/react-native/master/.flowconfig 下載.flowconfig文件

參考圖片   

 

查看項目中有node_modules,說明react和react native 安裝完成   

查看項目中有node_modules 

在項目根目錄添加.flowconfig

參考下圖   

在項目根目錄添加.flowconfig 

也可以手動創建在瀏覽器打開https://raw.githubusercontent.com/facebook/react-native/master/.flowconfig網址復制內容創建文件   

 

ReactNativeAppDemo配置相關內容

1.添加"start": "node node_modules/react-native/local-cli/cli.js start" 到package.json 文件下 scripts標簽 修改前   

 

修改后   

 

2.添加index.android.js文件到項目中   

添加index.android.js文件到項目中   

  1. 'use strict'; import React from 'react'; import { 
  2.   AppRegistry, 
  3.   StyleSheet, 
  4.   Text, 
  5.   View 
  6. from 'react-native'; class HelloWorld extends React.Component { 
  7.   render() {     return (       <View style={styles.container}> 
  8.         <Text style={styles.hello}>Hello, World</Text> 
  9.       </View
  10.     ) 
  11.   } 
  12. } var styles = StyleSheet.create({ 
  13.   container: { 
  14.     flex: 1, 
  15.     justifyContent: 'center'
  16.   }, 
  17.   hello: { 
  18.     fontSize: 20, 
  19.     textAlign: 'center'
  20.     margin: 10, 
  21.   }, 
  22. }); 
  23. AppRegistry.registerComponent('HelloWorld', () => HelloWorld);  

至此React native配置基本完成

3.App build.gradle配置

  1. dependencies { 
  2. ... 
  3. compile "com.facebook.react:react-native:+" // From node_modules.}  

這里注意不要使用maven中的,因為我們使用的是我們本地node_modules中的,注意***版本中支持的是23,appcompat-v7:23.0.1,暫時沒有試24的api   

 

整個工程build.gradle配置

  1. allprojects { 
  2. repositories { 
  3.     ... 
  4.     maven {         // All of React Native (JS, Android binaries) is installed from npm 
  5.         url "$rootDir/node_modules/react-native/android" 
  6.     } 
  7. ... 
  8.    

 

添加<uses-permission android:name="android.permission.INTERNET" />到AndroidManifest.xml:

確定External Libraries   

    

 

確定是下是***的,例如確定是0.34.1而不是0.20.1,如果出現請檢查 

  1. maven { 
  2.            `url "$rootDir/../node_modules/react-native/android"`//地址是否正確 
  3.        }  
  4. 修改url "$rootDir*/..*/node_modules/react-native/android"為url "$rootDir/node_modules/react-native/android"  

添加native code

官方給出的   

 

到時***版本中提供了更加簡單的方式,沒錯就是繼承。   

 

在這里我們也需要自定義一個Application否則 運行時會報錯,不信的小伙伴可以試一試   

    

 

到此為止,ReactNative 集成到已有項目中完成!!!迫不及待的運行試試吧!!   

 

在Terminal中運行 npm start,看到下圖表示啟動成功   

 

運行以后發現如下錯誤   

 

react-native報錯:Could not get BatchedBridge, make sure your bundle is packaged correctly

莫緊張,這是因為bundle沒有打包好。找不到編譯打包后的js文件。其實就是android studio默認的尋找js文件地址和react-native自己的工具編譯所使用的地址不同。

解決方法

方法一

進入項目,在android/app/src/main下新建assets目錄。執行以下命令

  1. $> react-native start > /dev/null 2>&1 &   
  2. $> curl "http://localhost:8081/index.android.bundle?platform=android" -o 
  3. "app/src/main/assets/index.android.bundle"  

在項目根目錄下執行

  1. <!--$> (cd android/ && ./gradlew assembleDebug)-->$> (cd 項目名稱/ && ./gradlew assembleDebug) 

把創建的apk安裝到android設備

方法二

進入項目,在android/app/src/main下新建assets目錄

啟動服務器

  1. $>react-native start 
  2. $>react-native bundle --platform android --dev false --entry-file index.android.js --bundl  

在assets文件夾下會生成index.android.bundle文件,把創建的apk文件安裝到android設備

方法三

進入項目,在android/app/src/main下新建assets目錄

在package.json中配置下面代碼

  1. "scripts": { 
  2.     "start""node node_modules/react-native/local-cli/cli.js start"
  3.     "bundle-android""react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output app/src/main/assets/index.android.bundle --sourcemap-output app/src/main/assets/index.android.map --assets-dest android/app/src/main/res/" 
  4.   }, 

 個人推薦使用方法三,方法三解決不了推薦方法二 手動執行

修改剛剛的package.json文件  

 

 

如果真機(模擬器)需要執行

  1. adb reverse tcp:8081 tcp:8081 

一定要確定連接網絡哦!! 

 

  

 

 

 

開心的進行開發吧!

其他可能遇到的問題

ReactNative兼容64位Android手機

libgnustl_shared.so" is 32-bit instead of 64-bit類似錯誤

解決方法

  1. 在項目的根目錄的 gradle.properties 里面添加一行android.useDeprecatedNdk=true.
  2. 在 build.gradle 文件里添加以下代碼
  1.  android { 
  2. ... 
  3. defaultConfig { 
  4.    ... 
  5.    ndk { 
  6.        abiFilters "armeabi-v7a""x86" 
  7.    } 
  8.  
  9.    packagingOptions { 
  10.        exclude "lib/arm64-v8abrealm-jni.so" 
  11.    } 
  12. }   

Genymotion模擬器運行顯示沒有連接到developement server如下圖 

 

 

 

先檢查是否連接到網絡

點擊模擬器中Menu菜單彈出下面圖片,點擊Dev Settings 

 

 

 

4.點擊Debugging 下面的Debug Server host & port for device填寫地址和端口

 

責任編輯:龐桂玉 來源: 安卓巴士Android開發者門戶
相關推薦

2017-06-06 13:35:59

AndroidToolbar

2010-08-26 10:28:43

2015-05-19 11:11:29

JavaScript事件使用指南

2016-05-10 13:21:23

reactios原生模塊

2009-07-03 16:45:25

JSP實用教程

2012-07-18 12:44:02

2024-12-25 16:12:18

2013-07-15 14:51:55

2018-06-08 10:18:22

Python裝飾器迭代器

2011-08-15 13:44:07

iPhone開發UITableView

2020-09-15 09:45:23

Pandas代碼Python

2021-02-26 14:05:32

PandasPython編程語言

2014-12-17 10:29:59

混合應用Hybrid App開發實戰

2012-10-31 09:16:36

IT管理

2014-04-09 09:55:12

2012-12-25 09:53:40

域名

2013-08-05 11:34:02

2021-01-28 10:12:02

鴻蒙JSJava

2013-12-08 20:32:32

WaxLua

2010-05-13 10:45:38

點贊
收藏

51CTO技術棧公眾號

宅男噜噜噜66一区二区| 成人福利免费在线观看| 一色桃子久久精品亚洲| eeuss一区二区三区| 国产无套内射又大又猛又粗又爽 | 国产精品手机播放| 天天看片中文字幕| 日韩在线影视| 欧美精品九九99久久| 国产日本在线播放| 成人高潮成人免费观看| 国产高清精品在线| 国产精品9999| 久久精品视频9| 久久国产电影| 亚洲男女性事视频| 日韩高清一二三区| 视频一区在线免费看| 亚洲一区二区三区精品在线| 伊人久久大香线蕉成人综合网 | 国产麻豆一区| 婷婷中文字幕一区三区| 亚洲一区二区三区加勒比| 天堂av手机版| 国产麻豆91精品| 国产精品视频大全| 久久黄色精品视频| 欧美国产激情| 日韩中文字幕在线播放| 精品人妻无码一区二区三区| swag国产精品一区二区| 911国产精品| 免费看污污网站| 涩涩视频在线免费看| 一区二区高清视频在线观看| 一区二区三区我不卡| 国产在线一二三区| 波多野结衣中文一区| 91免费国产网站| 中文字幕第99页| 性欧美videos另类喷潮| 久久免费在线观看| 国产一级av毛片| 牛牛国产精品| 久久综合久久八八| 永久免费未视频| 99视频精品全国免费| 色琪琪综合男人的天堂aⅴ视频| 中文字幕人妻一区二区| 色狠狠久久av综合| 日韩精品一二三四区| 女同性恋一区二区三区| 菁菁伊人国产精品| 亚洲激情久久久| 国产精品扒开腿做爽爽爽a片唱戏| 亚洲成人影音| 精品久久久三级丝袜| 免费欧美一级片| 999精品视频在线观看| 欧美精品久久一区| 在线观看视频你懂得| 日韩在线精品强乱中文字幕| 日韩丝袜情趣美女图片| 特黄特黄一级片| 97se亚洲| 亚洲精品视频免费| 欧美xxxx精品| 久久久久国产精品| 久久99亚洲热视| 国产午夜激情视频| 日韩中文字幕影院| 国产精品v日韩精品v在线观看| 男人的天堂在线免费视频| 91亚洲国产成人精品一区二区三| 国产日韩精品一区观看| 三级在线播放| 国产精品水嫩水嫩| 国产制服91一区二区三区制服| 青春草在线免费视频| 五月婷婷综合网| 国产女女做受ⅹxx高潮| 巨大黑人极品videos精品| 91精品国产综合久久婷婷香蕉| wwwxxx色| 国产99久久精品一区二区300| 在线观看91久久久久久| 污污的视频在线免费观看| 亚洲特级毛片| 日韩美女毛茸茸| 国产老妇伦国产熟女老妇视频| 国产精品一区二区三区99| 国产在线一区二区三区四区| 国产福利免费在线观看| 一区二区三区自拍| 777久久久精品一区二区三区| www.精品国产| 亚洲成人三级在线| 亚洲色图日韩精品| 黑丝一区二区| 国产精品啪视频| 国产又粗又猛视频| 91麻豆123| 99视频精品全部免费看| 欧洲av不卡| 欧美成人精精品一区二区频| 欧美福利第一页| 欧美激情在线| 国产精品专区一| 天堂网av在线播放| 亚洲天堂免费看| 97xxxxx| 视频国产精品| 中文字幕精品一区二区精品| 国产精品网站视频| 欧美色图亚洲激情| 亚洲精品成人| 国产精品草莓在线免费观看 | 中文在线一区二区三区| 久久亚洲国产| 国产91露脸中文字幕在线| 国产女18毛片多18精品| 国产欧美日韩亚州综合| 免费在线观看亚洲视频| 91成人在线精品视频| 久久精品国产综合| 老熟妇一区二区三区啪啪| 91丨九色丨国产丨porny| 777久久精品一区二区三区无码 | 在线精品视频免费观看| 午夜不卡久久精品无码免费| 91精品观看| 国产主播精品在线| 午夜伦全在线观看| 欧美亚洲动漫精品| www.黄色在线| 久久久久在线| 欧美一区二区三区精美影视| 老牛影视精品| 日韩va亚洲va欧洲va国产| 久久久夜色精品| 国产精品综合一区二区| 中文字幕日韩一区二区三区不卡| 成人不卡视频| 在线观看亚洲区| 五月激情丁香网| 国产日韩欧美亚洲| 国产精品天天av精麻传媒| 精品在线播放| 国产精品久久久久久av| 懂色一区二区三区| 欧美色男人天堂| 亚洲图片第一页| 蜜臀av国产精品久久久久| 日日夜夜精品网站| 91tv亚洲精品香蕉国产一区| 一区二区三区四区视频| 一区二区三区在线免费观看视频| 中文字幕乱码一区二区免费| 久热精品在线观看视频| 亚洲va在线| 97久久精品午夜一区二区| 日本在线视频中文有码| 亚洲成人精品久久| av大片在线免费观看| 久久久久88色偷偷免费| 天天干天天草天天| 一区二区不卡| 国内不卡一区二区三区| 中文一区一区三区高中清不卡免费 | 无码精品国产一区二区三区免费| 色天天色综合| 国产精品久久激情| 黄色网页在线免费观看| 日韩精品最新网址| 日韩av大片在线观看| 久久久久国产精品免费免费搜索 | 国产福利精品一区二区| 欧美视频在线观看视频| 免费不卡中文字幕在线| 国产专区欧美专区| 高清电影在线观看免费| 亚洲人成网站色ww在线| 国产男女裸体做爰爽爽| 亚洲成人av电影| 一色道久久88加勒比一| 国产麻豆精品在线| 91视频最新入口| 99久久这里只有精品| 国产亚洲欧美一区二区三区| 日韩国产网站| 欧美黑人狂野猛交老妇| 蜜桃视频在线免费| 日韩一区二区免费在线电影| 中文字幕免费在线观看视频| 国产精品精品国产色婷婷| 国产xxxx视频| 另类欧美日韩国产在线| 免费av手机在线观看| jiujiure精品视频播放| 国产精品免费看一区二区三区| gogo亚洲高清大胆美女人体| 精品自在线视频| www.av在线播放| 亚洲第一在线视频| 国产又粗又猛又黄| 色噜噜狠狠色综合中国| 欧美丰满艳妇bbwbbw| 久久久精品蜜桃| 久久发布国产伦子伦精品| 天堂久久一区二区三区| 韩日视频在线观看| 中文字幕人成人乱码| 日韩aⅴ视频一区二区三区| japanese色系久久精品| 91免费国产网站| 国产a亚洲精品| 日本高清久久天堂| 波多野结衣中文字幕久久| 久久精品视频播放| 成人在线免费观看| 亚洲男人天堂网站| 手机看片一区二区三区| 日韩午夜电影av| 国产免费黄色网址| 欧美高清视频不卡网| 中文字幕 国产| 日韩欧美成人免费视频| 国产亚洲自拍av| 一区二区三区国产精品| 久草福利资源在线| 中文字幕av一区二区三区高| 国产伦精品一区二区三区妓女 | 成人自拍网站| 精品午夜视频| 91视频九色网站| 亚洲国产伊人| 91精品国产综合久久香蕉922 | 欧美丝袜丝交足nylons| 国产区一区二区三| 欧美色欧美亚洲高清在线视频| 国产精品99精品无码视| 亚洲国产精品久久不卡毛片| 久久久久久久久精| 亚洲图片欧美综合| 国产无码精品视频| 五月综合激情网| 日韩精品久久久久久免费| 欧美视频在线观看免费| 在线精品免费视| 日本韩国欧美一区| 亚洲精品一区二区二区| 欧美日本视频在线| 97精品久久人人爽人人爽| 欧美一级专区免费大片| 成 人片 黄 色 大 片| 精品日韩在线观看| 香港一级纯黄大片| 亚洲美女在线观看| av网站在线播放| 久久亚洲综合国产精品99麻豆精品福利| 欧美成人二区| 欧美俄罗斯乱妇| 鲁鲁在线中文| 日本一区二区不卡| 成人在线高清| 91成人理论电影| 欧美色资源站| 欧美中日韩一区二区三区| 成人激情视频| 福利在线小视频| 亚洲精品乱码久久久久久蜜桃麻豆| 日韩精品视频久久| 免费高清成人在线| 激情成人在线观看| 本田岬高潮一区二区三区| jlzzjizz在线播放观看| 国产日产精品1区| 一级性生活免费视频| 亚洲一区二区三区四区中文字幕| 九九热精品视频在线| 欧美日韩一区不卡| 丰满人妻一区二区三区四区53| 日韩成人中文字幕在线观看| www.亚洲.com| 久久人人爽国产| 国产一区二区三区朝在线观看| 亚洲专区在线视频| 全国精品免费看| 亚洲成年人专区| 国产精品社区| 在线一区二区不卡| 91在线免费播放| 男人的午夜天堂| 色视频欧美一区二区三区| 亚洲AV无码一区二区三区性| 亚洲精品视频中文字幕| 麻豆91在线| 国产成+人+综合+亚洲欧洲| 欧美二区观看| 日韩一区不卡| 亚洲精品资源| 亚洲色图欧美自拍| 久久久夜色精品亚洲| 免费在线视频观看| 欧美日韩一二区| 邻居大乳一区二区三区| 欧美精品电影在线| 只有精品亚洲| 色狠狠久久av五月综合| 国产欧美高清| 91亚洲一区二区| 日本一区二区免费在线| 五月婷婷亚洲综合| 精品久久久久一区二区国产| 黄色免费网站在线观看| 国产97免费视| 色爱av综合网| 国产二区视频在线| 激情六月婷婷综合| 久久人人妻人人人人妻性色av| 亚洲精品视频在线| 在线观看免费视频a| 亚洲欧美一区二区三区久久| 国产理论在线| 国产精品9999久久久久仙踪林| 亚洲男女av一区二区| 国产成人黄色网址| 国产欧美一区二区精品久导航| 综合激情网五月| 亚洲国产精品网站| 搞黄网站在线看| 国产精品传媒毛片三区| 欧美在线亚洲综合一区| 爱情岛论坛亚洲自拍| 综合在线观看色| 国产精品-色哟哟| 中文字幕在线精品| 成人国产一区二区三区精品麻豆| 欧美亚州在线观看| 性一交一乱一区二区洋洋av| 欧美 变态 另类 人妖| 精品久久中文字幕| 亚洲人视频在线观看| 97精品视频在线播放| 男人的天堂久久| 免费观看精品视频| 2020日本不卡一区二区视频| 亚洲va在线观看| 亚洲欧洲中文天堂| 成人看片网页| 亚洲高清视频一区| 精品一区二区久久久| 好吊日在线视频| 日韩三级av在线播放| 色呦呦在线观看视频| 国产乱码精品一区二区三区卡 | 国产区二区三区| 国产精品三级电影| 91精品国产乱码久久| 超碰97人人做人人爱少妇| 日韩免费一级| 欧美乱大交xxxxx潮喷l头像| 91免费版在线看| 亚洲 小说区 图片区| 久久视频在线直播| 中文字幕一区日韩精品| 欧美丰满熟妇bbbbbb百度| 久久精品无码一区二区三区| 怡红院男人天堂| 另类少妇人与禽zozz0性伦| 99久久免费精品国产72精品九九 | 日韩欧美综合视频| 日韩欧美资源站| 涩涩涩在线视频| 杨幂一区欧美专区| 成人永久免费视频| 欧美在线观看不卡| 自拍偷拍亚洲一区| 天堂va欧美ⅴa亚洲va一国产| 可以在线看的av网站| 久久久电影一区二区三区| 亚洲一区二区三区网站| 欧美人交a欧美精品| 亚洲最好看的视频| 欧美一级小视频| 精品久久在线播放| 日本欧美在线视频免费观看| 99在线观看| 奇米一区二区三区| 免费在线视频一区二区| 一区二区欧美亚洲| 国产精品毛片av| 国产一级做a爰片久久| 亚洲www啪成人一区二区麻豆| 97电影在线观看| 国模精品娜娜一二三区| 激情综合一区二区三区| 国产成人精品777777| 欧美成人免费小视频| 欧美一区二区三区激情视频|