Android 원생 삽입 React Native 상세 설명
저 는 그냥 react-native 를 사용 합 니 다. init Project 내 안 드 로 이 드 프로젝트 디 렉 터 리 는 nodemodules 는 한 디 렉 터 리 아래 에 있 습 니 다.
우리 init 가 프로젝트 를 마 친 후에 프로젝트 초기 화가 완료 되 었 습 니 다.이때 우 리 는 명령 react-native run-android 로 프로젝트 를 직접 실행 할 수 있 습 니 다.어떻게 디 버 깅 하 는 지 에 대해 서 는 이미 말 했 습 니 다.
우리 가 어떻게 개발 하고 운영 하 는 지 말 해 보 세 요.우 리 는 일반적으로 웹 스 트 롬 을 선택 합 니 다.개발 후 우 리 는 안 드 로 이 드 와 ios 의 컴 파일 을 분리 합 니 다.
npm 시작
다음은 안 드 로 이 드 가 RN 환경 에 포 함 된 것 을 말씀 드 리 겠 습 니 다.
RN 을 호출 하기 위해 Android 네 이 티 브 코드 를 작성 합 니 다.
package com.reactdemo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import com.facebook.react.LifecycleState;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactRootView;
import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
import com.facebook.react.shell.MainReactPackage;
public class MainActivity extends AppCompatActivity implements DefaultHardwareBackBtnHandler {
private ReactInstanceManager mReactInstanceManager;
private ReactRootView mReactRootView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mReactRootView = new ReactRootView(this);
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
.setBundleAssetName("index.android.bundle")
.setJSMainModuleName("index.android")
.addPackage(new MainReactPackage())
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
mReactRootView.startReactApplication(mReactInstanceManager, "ReactDemo", null);
setContentView(mReactRootView);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU && mReactInstanceManager != null) {
mReactInstanceManager.showDevOptionsDialog();
return true;
}
return super.onKeyUp(keyCode, event);
}
@Override
public void onBackPressed() {
if (mReactInstanceManager != null) {
mReactInstanceManager.onBackPressed();
} else {
super.onBackPressed();
}
}
@Override
public void invokeDefaultOnBackPressed() {
super.onBackPressed();
}
@Override
protected void onPause() {
super.onPause();
if (mReactInstanceManager != null) {
mReactInstanceManager.onHostPause();
}
}
@Override
protected void onResume() {
super.onResume();
if (mReactInstanceManager != null) {
mReactInstanceManager.onHostResume(this, this);
}
}
}
네트워크 등 권한 을 더 해 야 합 니 다.package.json 을 만 들 고 react native 패 키 지 를 추가 합 니 다.
명령 npm init 를 사용 하여 절 차 를 따라 가면 됩 니 다.캡 처 해 드 리 겠 습 니 다.
마지막 으로 RN 프로젝트 에서 package.json 을 볼 수 있 습 니 다.
실행 데모
주:java.lang.Runtime 예외 가 발생 할 수 있 습 니 다:BatchedBridge 를 얻 을 수 없습니다.make sure your bundle is packaged correctly 이 오류,react-native bundle―platform android―dev false―entry-file index.android.js―bundle-output ReactDemo/app/src/main/assets/index.android.bundle―sourcemap-outpu ReactDemo/app/src/main/assets/index.android.map ―assets-dest ReactDemo/app/src/main/res/
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.