[Egret] Native 프로젝트 핫 업데이트

4697 단어 updateEgret
http://docs.egret-labs.org/post/tools/native/hot-upgrade.html
 
개술
Egret 의 패 키 징 항목 은 Android 든 iOS 플랫폼 이 든 모두 핫 업 데 이 트 를 지원 합 니 다.다음은 주로 안 드 로 이 드 플랫폼 을 예 로 들 어 iOS 플랫폼 은 해당 설정 과 iOS 입구 류 코드 에서 서로 다른 수정 설정 만 하면 된다 는 것 을 설명 한다.
기본 설정
  • 우선 네 이 티 브 가 egretProperties. json 에서 의 관련 설정 데 이 터 를 말씀 드 리 겠 습 니 다.

  • 그림 1 Egret 프로젝트 설정 파일 의 열 업데이트 와 관련 된 필드
  • release 필드: 이것 은 프로젝트 발표 디 렉 터 리 입 니 다. 특정한 발표 디 렉 터 리 를 지정 하려 면 이 경로 값 (현재 디 렉 터 리 의 경로 에 비해) 을 수정 하 십시오.지정 되 지 않 거나 이 필드 가 없 거나 기본적으로 비어 있 습 니 다. H5 프로젝트 의 release 폴 더 에 발 표 됩 니 다.
  • native 필드 에서 path_ignore 필드: 목록 을 무시 합 니 다. 즉, native 가방 에 나타 나 지 않 으 려 는 파일 (클립) 입 니 다. 목록 에 있 는 파일 (클립) 은 H5 프로젝트 디 렉 터 리 에 있 고 현재 디 렉 터 리 에 비해 상대 적 인 경로 여야 합 니 다.그림 1 ["release"] 은 현재 H5 디 렉 터 리 의 다음 폴 더 입 니 다.
  • native 필드 에서 android_path 필드: android_path 안 드 로 이 드 프로젝트 는 현재 폴 더 의 상대 적 인 경로 입 니 다. 그 중에서 안 드 로 이 드 가 없 으 면 해당 하 는 android_path 문자열 이 존재 하지 않 거나 비어 있 습 니 다.

  • 그림 1 에서 안 드 로 이 드 는 egret 명령 을 사용 하여 만 든 안 드 로 이 드 프로젝트 (proj. android, thirdparty 포함) 입 니 다. 단순 한 폴 더 가 아 닙 니 다.그림 에서 보 듯 이:
    Native 업데이트 메커니즘 원리
    안 드 로 이 드 의 입구 코드 에는 안 드 로 이 드 가 파일 을 어떻게 읽 는 지 제공 하 는 방법 getLoaderUrl 이 있 습 니 다.
    1. 빈 문자열 입 니 다.현재 가방 은 가장 원시 적 인 형식 을 사용 합 니 다.egret b -e --runtime native 이후 의 데이터 구조.
    2、"gamecode.zip"。publish 이후 최신 자원 패 키 지 를 Android 프로젝트 에 복사 합 니 다.이 때 안 드 로 이 드 프로젝트 에서 테스트 를 하려 면 반환 값 을 대응 하 는 gamecode. zip 의 이름 으로 바 꿔 야 합 니 다. 그림 에서 되 돌려 야 할 문자열 은 'gamecode1418351650. zip' 입 니 다.
    3. http://www.example.com/game_code.zip (서버 방식, 그리고 절대 주소, "http: / /" 헤드 포함).이런 방식 을 사용 해야만 열 갱신 메커니즘 이 있 을 수 있다.엔진 은 "gamecode 1418351650. zip" 대신 "gamecode 1418351650. zip" 을 제공 합 니 다.http://www.example.com/1111/gamecode.zip고치다http://www.example.com/2222/game_code.zip") 다운로드 가 필요 한 지 판단 하기 위해 서 입 니 다.따라서 업데이트 가 필요 하 다 면 되 돌아 오 는 zip 패키지 의 파일 이름 은 버 전 마다 다 를 것 입 니 다.다음은 이 수 요 를 실현 하기 위해 두 가지 참고 방안 을 제공한다.
    a) java          ,         zip      。
    b)                 ,     zip    。

    버 전 발표 단계
  • 실행 egret b -e --runtime native, native 프로젝트 를 컴 파일 합 니 다.
  • 실행 egret publish --runtime native -compile, 최신 업데이트 가능 한 자원 팩 을 발표 합 니 다.
  • 실행 후 H5 프로젝트 의 release / android 에서 현재 발 표 된 버 전 데 이 터 를 생 성 합 니 다.그림 속 폴 더 1418351650 은 최신 버 전 으로 폴 더 내 자원 은 업데이트 가 필요 한 자원 으로 이 폴 더 1418351650 을 서버 에 업로드 하면 된다.
  • 서버 설정 을 수정 한 gamecode. zip 패키지 의 최신 주소 (절대 주소 및 "http: /" 헤드 포함), 예 를 들 어 "http://www.example.com/gamecode_1418351650.zip"。

  • 사용자 정의 로드 페이지
  • 업데이트 가 있 으 면 반드시 관련 로드 진 도 를 업데이트 해 야 합 니 다.native 에서loader. js 에 서 는 간단 한 로드 진행 코드 를 제공 합 니 다.egret_native. initLoadingUI () 로 딩 페이지 를 초기 화 합 니 다.egret_native. setProgress () 로 딩 진 도 를 수정 합 니 다.egret_native. loadError () 자원 업데이트 오류 가 발생 했 습 니 다.egret_native. removeUI () 에서 로 딩 페이지 를 삭제 합 니 다.

  • 열 업 데 이 트 는 엔진 코드 를 불 러 온 후에 실행 되 기 때문에 엔진 의 종류 와 방법 (예 를 들 어 egret. bitmap, egret. TextField) 을 사용 할 수 있 습 니 다.
    js 파일 이 므 로 var textField: egret. TextField ("egret. TextField" 를 추가 하지 마 십시오).
    주의 사항
  • 네 이 티 브 패키지 에 열 업데이트 가 필요 하 다 면 getLoaderUrl () 방법 으로 돌아 온 서버 의 zip 패키지 주 소 는 죽 을 수 없습니다.
  • native 프로젝트 는 H5 프로젝트 에서 만 들 지 마 십시오.
  • 좋은 웹페이지 즐겨찾기