Saya mencoba untuk membuka bundel, tetapi ketika android sedang berjalan itu menunjukkan pesan berikutnya
2020-01-05 23: 15: 45.366 26210-26210 / com.note.principal W / .note.principa: Mengakses bidang tersembunyi Landroid / view / View; -> mAccessibilityDelegate: Landroid / view / View $ AccessibilityDelegate; (light greylist, reflection) 2020-01-05 23: 15: 45.470 26210-26242 / com.note.principal E / ReactNativeJS: Pelanggaran Invarian: memerlukanNativeComponent: "RNCSafeAreaView" tidak ditemukan di UIManager.
This error is located at: in RNCSafeAreaView in Unknown in Unknown in n in Unknown in Unknown in C in P in u in RCTView in RCTView in h 2020-01-05 23:15:45.494 26210-26242/com.note.principal E/ReactNativeJS: Invariant Violation: requireNativeComponent:
"RNCSafeAreaView" tidak ditemukan di UIManager.
This error is located at: in P in u in RCTView in RCTView in h 2020-01-05 23:15:45.502 26210-26242/com.note.principal E/ReactNativeJS: Invariant Violation: requireNativeComponent:
"RNCSafeAreaView" tidak ditemukan di UIManager.
This error is located at: in P in u in RCTView in RCTView in h 2020-01-05 23:15:45.794 26210-26244/com.note.principal E/unknown:ReactNative: Invariant Violation: requireNativeComponent:
"RNCSafeAreaView" tidak ditemukan di UIManager.
This error is located at: in RNCSafeAreaView in Unknown in Unknown in n in Unknown in Unknown in C in P in u in RCTView in RCTView in h, stack: exports@175:1634 get@163:682 Al@89:70673 Ml@89:70108 Ul@89:67144 Ul@-1 Pl@89:65839 Pl@-1 <unknown>@89:25495 unstable_runWithPriority@168:3915 sn@89:25442 cn@89:25377 kl@89:64831 la@89:87813 render@89:90592 exports@342:541 run@334:1305 runApplication@334:2287 value@25:3685 <unknown>@25:841 value@25:2939 value@25:813 value@-1 2020-01-05 23:15:45.832 26210-26244/com.note.principal E/unknown:ReactNative: Invariant Violation: requireNativeComponent:
"RNCSafeAreaView" tidak ditemukan di UIManager.
This error is located at: in P in u in RCTView in RCTView in h, stack: exports@175:1634 get@163:682 Al@89:70673 Ml@89:70108 Ul@89:67144 Ul@-1 Pl@89:65839 Pl@-1 <unknown>@89:25495 unstable_runWithPriority@168:3915 sn@89:25442 cn@89:25377 kl@89:64831 la@89:87813 render@89:90592 exports@342:541 run@334:1305 runApplication@334:2287 value@25:3685 <unknown>@25:841 value@25:2939 value@25:813 value@-1 2020-01-05 23:15:45.856 26210-26244/com.note.principal E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules Process: com.note.principal, PID: 26210 com.facebook.react.common.JavascriptException: Invariant Violation: requireNativeComponent: "RNCSafeAreaView" was not found in
UIManager.
This error is located at: in P in u in RCTView in RCTView in h, stack: exports@175:1634 get@163:682 Al@89:70673 Ml@89:70108 Ul@89:67144 Ul@-1 Pl@89:65839 Pl@-1 <unknown>@89:25495 unstable_runWithPriority@168:3915 sn@89:25442 cn@89:25377 kl@89:64831 la@89:87813 render@89:90592 exports@342:541 run@334:1305 runApplication@334:2287 value@25:3685 <unknown>@25:841 value@25:2939 value@25:813 value@-1 at com.facebook.react.modules.core.ExceptionsManagerModule.reportException(ExceptionsManagerModule.java:71) at java.lang.reflect.Method.invoke(Native Method) at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:371) at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:150) at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:26) at android.os.Looper.loop(Looper.java:193) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:225) at java.lang.Thread.run(Thread.java:764) 2020-01-05 23:15:45.862 26210-26244/com.note.principal I/Process: Sending signal.
PID: 26210 SIG: 9
Paket proyek adalah
{
"name": "Notes",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"bundle_android": "react-native bundle --entry-file index.js --platform android --dev false --bundle-output ./bundles/android/index.android.bundle",
"bundle_ios": "react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ./bundles/ios/main.jsbundle",
"test": "jest",
"lint": "eslint ."
},
"dependencies": {
"@react-native-community/masked-view": "^0.1.5",
"prop-types": "^15.7.2",
"react": "16.9.0",
"react-native": "0.61.5",
"react-native-gesture-handler": "^1.5.3",
"react-native-linear-gradient": "^2.5.6",
"react-native-safe-area-context": "^0.6.2",
"react-navigation": "^4.0.10",
"react-navigation-stack": "^2.0.8"
},
"devDependencies": {
"@babel/core": "^7.7.7",
"@babel/runtime": "^7.7.7",
"@react-native-community/eslint-config": "^0.0.6",
"babel-jest": "^24.9.0",
"eslint": "^6.8.0",
"jest": "^24.9.0",
"metro-react-native-babel-preset": "^0.57.0",
"react-test-renderer": "16.9.0"
},
"jest": {
"preset": "react-native"
}
}
Proyek gradle
include ':app'
rootProject.name='Notes'
include ':hermes-engine'
project(':hermes-engine').projectDir = new File(rootProject.projectDir, '../node_modules/hermes-engine/android/')
include ':react-native-gesture-handler'
project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android')
include ':react-native-linear-gradient'
project(':react-native-linear-gradient').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-linear-gradient/android')
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
jcenter()
mavenLocal()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig {
applicationId ""
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
project.ext.react = [
enableHermes: false,
]
def jscFlavor = 'org.webkit:android-jsc:+'
def enableHermes = project.ext.react.get("enableHermes", false)
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation "com.facebook.react:react-native:+"
implementation 'com.android.support:support-annotations:27.1.1'
implementation project(':react-native-gesture-handler')
implementation project(':react-native-linear-gradient')
if (enableHermes) {
implementation project(':hermes-engine')
debugImplementation files(hermesPath + "hermes-debug.aar")
releaseImplementation files(hermesPath + "hermes-release.aar")
} else {
implementation jscFlavor
}
}
Ini adalah kode aktivitas
package com.note
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.Settings
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import com.facebook.react.ReactInstanceManager
import com.facebook.react.ReactRootView
import com.facebook.react.common.LifecycleState
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler
import com.facebook.react.shell.MainReactPackage
import com.facebook.soloader.SoLoader
import com.swmansion.gesturehandler.react.RNGestureHandlerPackage
import com.BV.LinearGradient.LinearGradientPackage
class ReactActivity : AppCompatActivity(), DefaultHardwareBackBtnHandler {
private val OVERLAY_PERMISSION_REQ_CODE = 1
private lateinit var mReactRootView: ReactRootView
private lateinit var mReactInstanceManager: ReactInstanceManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
SoLoader.init(this, false)
mReactRootView = ReactRootView(this)
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(application)
.setCurrentActivity(this)
.setApplication(application)
.setBundleAssetName("aaaaaa.android.bundle")
.addPackage(MainReactPackage())
.addPackage(RNGestureHandlerPackage())
.addPackage(LinearGradientPackage())
.setInitialLifecycleState(LifecycleState.RESUMED)
.build()
// The string here (e.g. "MyReactNativeApp") has to match
// the string in AppRegistry.registerComponent() in index.js
mReactRootView.startReactApplication(mReactInstanceManager, "Notes", null)
setContentView(mReactRootView)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
val intent = Intent(
Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:$packageName")
)
startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE)
}
}
}
override fun invokeDefaultOnBackPressed() {
super.onBackPressed()
}
override fun onBackPressed() {
if (mReactInstanceManager != null) {
mReactInstanceManager.onBackPressed()
} else {
super.onBackPressed()
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode == OVERLAY_PERMISSION_REQ_CODE) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
// SYSTEM_ALERT_WINDOW permission not granted
}
}
}
mReactInstanceManager?.onActivityResult(this,requestCode, resultCode, data)
}
}
ada yang tahu apa solusinya?
sumber
Saya digeledah dan ditemukan berikutnya,
pertama, Anda perlu membersihkan proyek
Modul impor kedua di proyek
saya berharap ini akan bermanfaat, juga tautan ini membantu saya
bereaksi-asli-aman-area-konteks
sumber
Bekerja untuk saya untuk versi di bawah ini dan di iOS
Langkah untuk menyelesaikan
-Hentikan Metro Bundler yang sedang berjalan
-instal pod untuk ios
-mencoba kembali menjalankan aplikasi
Semoga ini bisa membantu!
sumber
Jika Anda TIDAK menggunakan ReactRootView (mengintegrasikan aplikasi yang sudah ada dengan yang asli) ...
Anda mungkin masih perlu menambahkan paket Anda (paket yang belum mendukung autolinking, misalnya, safe-area-view , misalnya) ke
MainApplication.java
:Di atas, di mana impor berada:
Tambahkan kelas SafeAreaContextPackage ke daftar paket yang diekspor.
sumber
mReactInstanceManager
yang akan melakukan hal yang sama seperti Bereaksi Aplikasi.Di bawah ini bekerja untuk saya:
sumber