Web_Advance
  • 本書簡介
  • Node.js 部分
    • Node 版本管理
    • 使用NPM
      • Yarn
    • 開始Node
    • Worker Thread
    • REPL
    • TCP
    • path
    • Cluster and Child_process
    • assert (自訂拋出的錯誤)
    • Stream(流)
    • util (工具類)
    • EventEmitter
    • fs 文件操作
    • Buffer
      • Binary Diff
      • 查看 Binary 檔案內容
    • Process (進程)
    • 錯誤處理
  • OS
  • Async Hook
  • TCP
  • HTTP
    • 有關爬蟲
    • HTTP/2
    • HTTP Protocal
  • HTTPS
    • HTTPS 流程
    • SSL pinning
    • HTTPS 封包解密
    • 建立自簽發 HTTPS 證書
    • 幫網站加上HTTPS
    • HTTPS原理
  • Crypto加密
  • 有關繼承
  • JS 基本
    • JavaScript 迴圈與異步處理
  • 使用 Express
    • 上傳檔案
    • 圖片伺服器
    • 簡單範例
  • 使用 Nest.js
  • 使用MongoDB
    • 設置帳戶登入權限
    • Mongoose 框架
    • 進階Mongo
    • 基本環境操作
    • MongoDB Sharding
  • 使用MySQL
    • Schema 架構設計
    • SQL 語法
    • SQL Procedure
    • Node.js 操作 MySQL
    • 使用 Sequelize
      • DB Migration
      • function
  • 使用PostgreSQL
    • 常見問題
    • replica
    • 基本指令
    • 使用Node.js操控pg
    • SQL 基礎
  • 使用TypeORM
  • RethinkDB
  • CSS 深度探討
    • Width, Height
  • React
    • 第三方組件
      • Formik
    • styled component
    • propTypes
    • React webpack 部署
    • React util
    • 寫component並且publish
    • create-react-app
    • Context API
    • i18n
    • Server side render
    • Next.js教學
    • Higher order component 與 Recompose
    • component 間 互相存取
    • React hook
  • React router
    • 自己寫一個Router
  • Redux
    • Redux Toolkit
    • 小技巧
    • Redux sagas
    • compose
  • React Native
    • adb
    • InApp Billing
    • Icon
    • SVG
    • Firebase
      • Phone Auth
    • 自動化測試
    • Splash screen
    • Websocket
    • Googla OAuth
      • iOS
      • Android
    • Facebook OAuth
      • iOS
      • Android
    • IOS
    • 第三方組件
      • Auth Code Input
      • Country Code Picker
      • onboarding screen
      • Toast
    • ESlint
    • Push notification
    • Android 上架步驟
    • Expo
    • router
      • react-navigation套件
    • 原生組件
      • RefreshControl
      • Modal
      • Alert
      • button
      • KeyboardAvoidingView
      • Drawer
      • Image
    • 限制螢幕垂直與水平
    • NativeBase UI
    • Debug
    • 常見問題
    • Network
    • 硬體操作
      • 隱藏鍵盤
      • 地理位置
      • 相機與圖片庫存取
    • Async Storage
    • Animation
    • Admob
  • JS 模組化
  • 使用 Webpack
  • 使用 Babel
  • JWT Token
  • ES6 ES7 ES8
    • Array method
    • ES8 Async
    • ES6 Proxy
    • ES6 Object
    • ES6 Arrow function
    • ES6 Promise
    • ES6 Symbol
    • ES6 Generator
    • ES6 Set,Map
    • ES6 Class
  • 模板引擎
    • Mustache
    • Handlebars.js
    • EJS
  • ESLint
  • 部屬到OpenShift
  • OpenStack
  • OAuth
    • Twitter OAuth
    • Google authenticator
    • facebook oauth
      • facebook like ,share
    • google oauth
  • Redis
  • 做一個簡單的markdown editor
  • Websocket
    • WebSocket 相關 Protocol
  • Sublime 安裝套件
  • Google api
    • Cloud Run
    • speech api
    • place autocomplete
    • Geocode
    • Map
      • React map
    • vision api
    • Google-recaptcha
    • Google sheet
  • Instagram API
  • Markdown 與 code pretty js
  • HTML5
    • IntersectionObserver
    • HTML5 audio
    • HTML5 Video 與 WebRTC
      • WebRTC 進階
      • WebEX API
    • HTML5 IndexedDB
  • Google Cloud Platform (GCP)
    • Cloud Storage
    • Cloud storage 串接 Cloud CDN
  • Vim 編輯器
  • 使用nginx
    • config
  • Unix 實用指令
    • 新 VPS 安裝流程
    • Ubuntu 22 安裝
    • Shell Script 教學
  • Git 實用指令
    • Git hook
    • 加上 SSH-key 到 GitHub
    • GPG簽名
  • SSH 實用指令
  • 有關Fetch與axios與跨域請求
  • 圖片上傳相關
    • imgur API
  • JS 格式轉換
  • js trick
  • AWS
    • AWS EBS
    • AWS HTTPS 憑證
    • AWS Cloudfront、ELB、ACL
    • AWS Athena
    • AWS CloudWatch、SNS
    • AWS RDS
    • AWS lambda
      • 範例
      • 加上權限控管
    • AWS S3
    • AWS DynamoDB
      • 結合Lambda
    • 快速把 EC2 串上 AWS Cloudfront CDN
    • AWS 證照相關
  • 有關日期Date
  • VS code 編輯器
    • VSCode 外掛 Plugin
  • CI with Gitlab&Jenkins
  • API 測試
    • Postman
      • 設置 Postman 環境變數
    • API Blueprint
    • swagger
      • 註解寫在Code內生成swagger UI
  • Javascript 實用Lib
  • 遠端寫程式
  • Quicktime錄影注意事項
  • Web開發進階Bug
  • Web壓力測試
  • LineBot
  • PM2部署
  • i18n
  • VPN
  • Protocol Buffers
  • Docker教學
    • LXC LXD
    • Docker Compose
    • Docker 原理
    • Docker 指令
  • E2E Testing
    • Cypress
    • PlayWright
    • Puppeteer 與其他 UI 測試工具
  • Unit Test (Jest & enzyme)
    • React Testing Library
    • mocha
  • Cassandra
    • cluster
  • Distribute Web
    • Dat project
    • IPFS project
  • Cluster and Child_process
  • 打包應用程式
  • Java
    • 使用gradle結合docker
  • Debug 頁面
  • Proxy
  • Chrome extension
  • 消息系統
    • RabbitMQ
  • 金流串接
    • Paypal
    • spgateway智富通
    • Stripe 串接
  • 有關Log
  • 設定 feature flag
  • Azure
    • Face API
    • Image Analyze API
    • Azure Serverless
    • Cosmos DB
      • 使用 SDK
      • 以 RESTful 操作 DB
      • 一致性策略與 DB replicate
  • NodeBB 筆記
  • 瀏覽器快取與緩存(Etag, If-None-Match)
  • 瀏覽器快取與緩存(Expires, Last-modified, Cache-Control)
  • Node.js 第三方模組
    • OpenCV
  • Kubernetes
    • 本地測試 MiniKube
  • Ngrok 使用
  • Telegram MiniAPP 開發
  • Firebase 教學
  • 演算法筆記
  • 圖表
    • Echart
    • TradingView 圖表
    • D3
    • 熱力圖 heatmap
  • 後端緩存 Cache
  • 資料一致性
  • Web 安全機制
    • Cookie 與 LocalStorage
  • Vue
    • Element UI
    • Devtool
    • Vuex
    • Vue router
  • 相關網路協議
    • 網路 IP 基礎
    • Google Search 技巧
    • 網路診斷工具
    • IP
    • DNS
  • GitLab 與 Drone
  • SMTP、POP、IMAP
    • SendGrid
  • IPC
  • 串流服務
    • Twilio
    • Agora
  • 其他資源
  • GraphQL
  • Typescript
  • UI 相關資源
  • FFmpeg
  • Unity 遊戲開發筆記
  • Influx DB
  • Windows 相關
  • DALL·E 3
  • Coap
  • Slack API
  • 資訊安全
    • 破解 ZIP 密碼
Powered by GitBook
On this page
  • Android 環境相關
  • 11.Failed to install the following Android SDK packages as some licences have not been accepted
  • 開發相關
  • 1.無法用e.target
  • iOS 環境相關
  • Build fail code 65

Was this helpful?

Edit on GitHub
  1. React Native

常見問題

Android 環境相關

0.

SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable

解法:在react-native專案的andorid目錄下創建如下local.properties,並寫上路徑。

可直接輸入以下指令

echo sdk.dir = "$HOME"/Library/Android/sdk >> ./android/local.properties

或是加入環境變量

export ANDROID_HOME = <SDK位置>

1.

Failed to find Build Tools revision

解法:開啟Android Studio後按到plugin manager,之後點選Android SDK Build-tools,然後按右下角的show package Details.

之後更改react-native 的 android folder內的build.gradle ,更改buildToolsVersion

2.

Failed to find Platform SDK with path: platforms;

到SDK頁面把版本號碼,填入剛才build.gradle的SDK版本位置即可。

3.

Unable to unzip '/Users/lin/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/runtime/1.0.0/30c60a8a357ee1321ffd0c9f08ef54b24045cd10/runtime-1.0.0.aar' to '/Users/lin/.android/build-cache/461463660edaf90dfdbbbdf1b3fd11a320fb50df/output' or find the cached output '/Users/lin/.android/build-cache/461463660edaf90dfdbbbdf1b3fd11a320fb50df/output' using the build cache at '/Users/lin/.android/build-cache'.

解法:加上sudo

sudo react-native run-android

4.

error: could not install *smartsocket* listener: Address already in use

或是

adb server version (40) doesn't match this client (39);

這時通常輸入adb start-server 也會無法執行,通常是因為有兩個版本,所以只要把/sdk/platform-tools/adb 複製到/usr/local/bin即可

5.Development Server response 500

通常為node_module包含不相容的專案

重新啟動專案或重建都一樣時可輸入以下指令:

npm start -- --reset-cache

6.

不穩定,有時跳出錯誤訊息,有時又沒有

建議關閉 hot-reload 功能。

7.

安裝模組後如果執行出現錯誤,例如:Unable to symbolicate stack trace: The stack is null

輸入以下即可。

npm start -- reset-cache

8.

執行 react-native run-android 後畫面空白,或是說無法連線到development server

重新執行react-native run-android

即可

9.

避免特定資料夾更改後,觸發 react native server hot reload

const blacklist = require('metro-config/src/defaults/blacklist');

// blacklist is a function that takes an array of regexes and combines
// them with the default blacklist to return a single regex.
// 下面輸入不要觸發更新的資料夾名稱
module.exports = {
  resolver: {
    blacklistRE: blacklist([/server\/.*/])
  }
};

10.Unable to load script from assets index.android.bundle

加入以下:

package.json

  "scripts": {
    "android-linux": "react-native bundle --platform android --dev false --entry-file App.js --bundle-output android/app/src/main/assets/App.android.bundle --assets-dest android/app/src/main/res && react-native run-android"
  },

11.Failed to install the following Android SDK packages as some licences have not been accepted

到 android studio 安裝 SDK 版本

12.Could not determine artifacts for com.facebook.fresco:fresco:1.10.0: Skipped due to earlier error

在 build.gradle 新增

dependencies {
    ....
    implementation "com.facebook.fresco:fresco:1.13.0"
}

13. 上架時要求更改 package name

14. 您已經有一個 APK 或 Android App Bundle 使用版本代碼 1

15. Google Play 64 位元規範

build.gradle(app) 新增如下

    defaultConfig {
        ....
        ndk {
            abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
        }
    }

不過目前測試完加上這樣會閃退,建議還是使用 bundleRelease 打包

16. adb command not found

加上以下環境變數,不過目前測試就算 adb comand 沒找到還是可以 run-android,但有時候使用最新的 react-native 創建專案卻可以沒有adb command 下執行

export ANDROID_HOME="/Users/easonwang/Library/Android/sdk"
export PATH="/Users/easonwang/Library/Android/sdk/platform-tools":$PATH

17. react version mismatch

通常只要把所有監聽 8081 (emulator)的 port 刪除,或是關閉所有 terminal 重啟 emulator即可。

18.產生的apk 安裝後網路無法連線

19.Warning: Activity not started, intent has been delivered to currently running top-most instance.

這樣 app 不護更新畫面,需要把 app 從模擬器關閉後重新 run-android

20. Execution failed for task ':app:mergeDexDebug'

When your app and the libraries it references exceed 65,536 methods, you encounter a build error that indicates your app has reached the limit of the Android build architecture

加上以下即可

android {
    defaultConfig {
        ...
        minSdkVersion 15 
        targetSdkVersion 28
        multiDexEnabled true
    }
    ...
}

dependencies {
  implementation 'com.android.support:multidex:1.0.3'
}

21.

Execution failed for task ':app:processDebugResources'. AAPT: error: unexpected element <queries> found in <manifest>

更新 gradle 版本:

project/build.gradle

    dependencies {
        classpath("com.android.tools.build:gradle:4.0.1")

22.No non-density apk found

cd android && ./gradlew clean

23.Error type 3 Error: Activity class {} does not exist.

adb uninstall PACKAGE_NAME

24.accessibilityinfo could not be found within the project

watchman watch-del-all;
rm rf ./node_modules;
yarn;
yarn start --reset-cache;
rm -rf /tmp/metro-*;

25.重新安裝 debug.keystore file

開發相關

1.無法用e.target

建議採用map並加上index方法傳遞。

{Object.keys(this.state.locationURL).map((location, idx) => (
   <ListItem key={idx} onPress={(e) => this.changeURL(idx)}>
     <Text>{location}</Text>
   </ListItem>
))}

2.取得Input的值或對象

<Input onChangeText={(e) => console.log(e)} />

3. Genymotion 存取跟電腦相同的 VPN

設定Adapter 2 的網路為 NAT 即可。

4.重置 ios 或 android 專案

rm -rf ./ios
yarn add react-native-eject
npx react-native eject

iOS 環境相關

Could not find the following native modules

rm -rf ios/Pods && rm -rf ios/build && cd ios && pod install && cd ../

rm -rf node_modules && rm yarn.lock && yarn install

Pod version 不夠

sudo gem install cocoapods

如果出現 CompileC /Users/Library/Developer/Xcode/DerivedData/rnVideoChat-glonxrdqrszkjpegwxeamdfiunvm/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/react-native-webrtc.build/Objects-normal/x86_64/VideoCaptureController.o /Users/easonwang/rnVideoChat/node_modules/react-native-webrtc/ios/RCTWebRTC/VideoCaptureController.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler

重新 npm 安裝該模組,升級他的版本即可

Build fail code 65

這時可以去 xcode 查看相關錯誤,或是先更新 xcode。

PreviousDebugNextNetwork

Last updated 3 years ago

Was this helpful?

解法:

如果 network endpoint 指向 http 記得加上以下不然會無法連線

例如:

https://github.com/facebook/react-native/issues/8401#issuecomment-344628512
https://stackoverflow.com/a/41963217
https://stackoverflow.com/a/56801525/4622645
https://stackoverflow.com/questions/57016236/keystore-file-project-folder-android-app-debug-keystore-not-found-for-signing
https://stackoverflow.com/a/42125039
https://stackoverflow.com/questions/50718018/xcode-10-error-multiple-commands-produce
Unable to load script from assets index.android.bundle on windowsStack Overflow
Android Studio更改專案套件(package)名稱的方法
https://developer.android.com/distribute/best-practices/develop/64-bitdeveloper.android.com
Enable multidex for apps with over 64K methods  |  Android DevelopersAndroid Developers
Logo
APK 版本更新,新手易出現小問題!(三)
How to fix "unexpected element <queries> found in <manifest>" error?Stack Overflow
Logo
Logo