패키징

패키징이란 단말기에서 실행 시 필요한 정보들을 생성 및 압축하는 일련의 과정을 의미합니다. 프로젝트 정보를 이용한 start_android[ios].json의 생성, 부트스트랩 아카이브 파일, 프로젝트 아카이브 파일, 테마 아카이브 파일을 생성하고 압축하는 과정을 의미합니다.

패키징된 파일은 배포 서버에 올려 모바일 기기에 설치 시 내려받아 반영하게 됩니다.

패키징은 넥사크로 스튜디오의 Archive 메뉴에서 진행합니다. 넥사크로 스튜디오에서는 배포될 파일을 지정된 경로로 생성하며 서버로 배포하는 것은 작업 환경에 따라 적용해야 합니다.

패키징은 넥사크로 스튜디오를 이용해야 하며 오류발생 가능성이 있으므로 임의의 타 편집기로 생성하거나 수정하지 마십시오.

패키징 작업을 진행하기 전에 넥사크로 스튜디오 TypeDefinition 창에서 Update 탭 항목을 설정한 후 진행하는 것을 권장합니다. Update 항목 설정 관련해서는 아래 링크를 참고하세요.

Edit TypeDefinition > Update

archive_menu2

패키징 단계에서 생성하는 파일은 아래와 같이 구분할 수 있습니다. 단 Base 라이브러리는 직접 생성해야 합니다.

생성 파일

Application

Bootstrap

File

Theme

테마 파일

Y



Y

실행 파일

Y

Y



폼 파일

Y


Y


Base 라이브러리





Base 라이브러리

넥사크로플랫폼이 설치된 경로에 접근하면 아래와 같은 폴더를 확인할 수 있습니다. 해당 폴더는 애플리케이션을 웹으로 서비스할 때는 해당 서버에 그대로 복사해 참조하며 iOS나 안드로이드 기기에서 사용할때는 압축된 파일 형태로 만들어 사용합니다.

압축된 파일로 만들 때는 nexacro14lib 폴더를 다른 곳에 복사해서 해당 폴더를 그대로 압축합니다. 운영체제에서 기본으로 제공하는 기능을 사용하거나 별도 소프트웨어를 사용할 수 있습니다.

이 때 압축 파일에는 nexacro14lib 폴더 그대로 담겨있어야 합니다.

사용하는 소프트웨어에 따라 nexacro14lib 폴더를 선택하고 압축하게 되면 하위 폴더인 component, framework, resources 만 압축되는 경우가 있습니다. 이런 경우에는 상위에 임의의 폴더를 생성하고 압축 파일을 생성하면 nexacro14lib 폴더 그대로 압축할 수 있습니다.

Run Template 파일 생성 시 'Merge JSON File' 옵션을 선택하는 경우에는 [Build > Deploy > Deploy Application] 메뉴에서 'Compress JS Files', 'Merge JSON File' 옵션을 선택하고 생성된 nexacro14lib 폴더를 압축해 사용해야 합니다.

Make Application Archive

Make Bootstrap, Make File Archive, Make Theme Archive 기능을 한번에 처리할 수 있는 기능을 제공합니다.

Make Application Archive 위자드에는 Make Bootstrap, Make File Archive, Make Theme Archive 단계가 포함되어 있습니다. 아래 메뉴는 개별적으로 해당 파일을 생성해야 하는 경우 참고하세요.

Make Bootstrap

Make File Archive

Make Theme Archive

  1. [넥사크로 스튜디오 > Archive > Make Application Archive] 메뉴를 클릭합니다.

  1. 경로 정보, Bootstrap, 프로젝트 파일, 테마 정보를 다음 순서대로 설정합니다.

Step 1

아카이브 파일들을 생성할 경로와 프로젝트 경로를 지정합니다.

Archive_Make-Application-Archive_Step1

항목

설명

1

Output Path

아카이브 파일을 생성할 경로를 지정합니다.

2

Target Path

프로젝트가 컴파일된 경로를 지정합니다.

프로젝트 컴파일 경로를 저장해놓았다면 자동으로 현재 프로젝트의 컴파일 경로가 입력됩니다.

3

Finish

기본 설정값으로 아카이브 파일을 생성합니다.

  • Run.zip 및 start_android[ios].json 파일(Merge JSON File 옵션은 이전 설정값 적용)

  • 프로젝트 아카이브 파일(Output Path에 설정한 아카이브 파일의 목록을 확인후 재생성)

  • 테마 아카이브 파일(현재 활성화되어 있는 ADL에서 사용하고 있는 테마들이 적용)

Step 2

Bootstrap 관련 옵션을 설정합니다.

설정에 대한 자세한 정보는 Make Bootstrap을 참조하시기 바랍니다.

Archive_Make-Application-Archive_Step2

Step 3

아카이브 파일 생성을 위한 설정을 합니다.

설정에 대한 자세한 정보는 Make File Archive를 참조하시기 바랍니다.

Archive_Make-Application-Archive_Step3

Step 4

테마 파일을 아카이브 파일로 만들기 위해 테마를 설정합니다.

설정에 대한 자세한 정보는 Make Theme Archive를 참조하시기 바랍니다.

Archive_Make-Application-Archive_Step4

  1. 생성된 파일을 배포 서버에 반영합니다.

Make Bootstrap

앱을 구동시키는 Run.html을 포함한 Run.zip 및 start_android[ios].json 파일을 만드는 기능입니다.

  1. [넥사크로 스튜디오 > Archive > Make Bootstrap] 메뉴를 클릭합니다.

  1. 부트스트랩 아카이브 파일인 Run.zip 및 start_android[ios].json 파일을 만듭니다. start_android[ios].json 파일은 [Archive > Make File Archive] 단계에서 입력된 정보를 기준으로 생성됩니다.

Step 1

Run.zip, start_android[ios].json 파일을 생성할 경로를 지정합니다.

Archive_Make-Bootstrap_Step1

항목

설명

1

Output Path

Run.zip 및 start_android[ios].json파일이 생성될 경로입니다. start_android[ios].json에는 TypeDefinition의 Update 탭에 설정된 내용이 포함됩니다.

2

Finish

Run.zip 및 start_android[ios].json 파일을 생성합니다. Merge JSON File 옵션은 이전 설정 값이 적용됩니다.

Step 2

생성하려는 앱의 모바일 플랫폼을 선택하고, Project URL을 지정합니다. Android / iOS 둘 중 하나는 반드시 선택해야 합니다.

Archive_Make-Bootstrap_Step2

항목

설명

1

Android

안드로이드 앱을 구동시키는데 필요한 start_android.json 파일을 생성할지 선택합니다.

2

iOS

iOS 앱을 구동시키는데 필요한 start_ios.json, Run.zip 파일을 생성할지 선택합니다.

3

Project URL

최초 애플리케이션을 실행할 서버 URL을 지정합니다.

2를 체크했을 경우에만 입력창이 활성화됩니다.

4

Merge JSON File

넥사크로플랫폼 라이브러리를 호출하는 방식을 지정합니다.

해당 옵션을 선택하는 경우에는 [Build > Deploy > Deploy Application] 메뉴에서 'Compress JS file', 'Merge JSON file' 옵션을 선택하고 생성된 자바스크립트 파일을 압축 파일로 만들어 배포해야 합니다.

5

Finish

Run.zip 및 start_android[ios].json 파일을 생성합니다.

1, 2 중 어느 하나도 체크하지 않았을 경우에는 start_android[ios].json 파일을 생성하지 않습니다.

TypeDefinition에서 URL 경로 설정 시 로컬호스트(127.0.0.1 )를 지정하게 되면 배포 서버가 아닌 단말기 자신을 로컬 호스트로 인식하게 됩니다. 단말기에서 접근 가능한 사설 IP 또는 URL을 써넣어주어야 합니다.

  1. 생성된 start_android[ios].json 파일은 아래와 같이 만들어집니다. 제품 업데이트에 따라 일부 내용이 수정될 수 있습니다.

    오프라인에서 사용할 수 있게 파일 아카이브 파일과 테마 아카이브 파일을 만들 때는 해당 파일을 먼저 생성하고 start_android[ios].json 파일을 생성해야 합니다.

{
    "version" : "14.0.0.1",
    "runtime" :
    {
        "target" :
        {
            "os" : "android"
        },
        "framework" :
        [
         "./nexacro14lib/framework/Framework.js",
         "./nexacro14lib/framework/Device.js",
         "./nexacro14lib/framework/Device_Android.js"
        ],
        "component" :
        [
         "./nexacro14lib/component/CompBase.js",
         "./nexacro14lib/component/ComComp.js",
         "./nexacro14lib/component/Grid.js",
         "./nexacro14lib/component/DeviceAPI.js",
         "./archivefiles.js"
        ],
        "form" :
        [

        ],
        "xadl" :
        {
            "launch" : "./HelloWorld.xadl.js",
            "quickview" : "./HelloWorld.xadl.quickview.js"
        },
        "protocol":
        {
            "adaptors":
            [
          
            ]
        },
        "resource" :
        {
            "android" : {
                "updateurl" : "http://172.20.20.20:8080/packageBuilder/output/app-dist/HelloWorld",
                "all" : {
                    "updateurl" : "",
                    "all" : {
                        "updateurl" : "",
                        "resources" :
                        [{"type" : "File", "file" : "Archive00.xzip", "targetpath" : "", "version" : "1.0", "failpass" : "false"},
                         {"type" : "Engine", "file" : "nexacro14lib.zip", "targetpath" : "", "version" : "1.0", "failpass" : ""},
                         {"type" : "Theme", "file" : "default.zip", "targetpath" : "./_theme_", "version" : "1.0", "failpass" : "false"}]
                    }
                }
            },
            "ios" : {
                "updateurl" : "http://localhost:8080/packageBuilder/output/app-dist/HelloWorld",
                "all" : {
                    "updateurl" : "",
                    "all" : {
                        "updateurl" : "",
                        "resources" :
                        [{"type" : "File", "file" : "Archive00.xzip", "targetpath" : "", "version" : "1.0", "failpass" : "false"},
                         {"type" : "Engine", "file" : "nexacro14lib.zip", "targetpath" : "", "version" : "1.0", "failpass" : ""},
                         {"type" : "Engine", "file" : "Run.zip", "targetpath" : "", "version" : "1.0", "failpass" : ""},
                         {"type" : "Theme", "file" : "default.zip", "targetpath" : "./_theme_", "version" : "1.0", "failpass" : "false"}]
                    }
                }
            }
        }
    }
}

안드로이드 운영체제에서는 Run.zip 파일을 사용하지 않습니다.

Android, iOS 각각 필요한 파일을 생성합니다.

- start_android.json

- start_ios.json

각 파일의 version 값을 수정하면 앱이 실행 시 파일을 업데이트합니다.

  1. 생성된 파일을 배포 서버에 반영합니다.

Make File Archive

프로젝트 파일을 아카이브 파일로 만들고 TypeDefinition에 배포에 필요한 정보를 등록하는 기능입니다.

아카이브 파일은 사용자가 지정한 이름으로 생성되며 xzip 확장자로 저장합니다.

프로젝트 아카이브 파일은 앱이 처음 설치될 때 배포서버에 연결해 내려받으며 이후에는 단말기에 저장된 데이터로 실행합니다.

  1. [넥사크로 스튜디오 > Archive > Make File Archive] 메뉴를 클릭합니다.

  1. 아카이브 파일 내에 포함할 ADL 및 화면 등을 선택합니다.

Step 1

아카이브 파일을 생성할 경로를 지정합니다.

Archive_Make-File-Archive_Step1

항목

설명

1

Output Path

아카이브 파일을 생성할 경로를 지정합니다.

2

Target Path

프로젝트가 컴파일된 경로를 지정합니다.

프로젝트 컴파일 경로를 저장해놓았다면 자동으로 현재 프로젝트의 컴파일 경로가 입력됩니다.

3

Finish

프로젝트 파일을 아카이브 파일로 생성합니다.

Step 2

아카이브 파일과 그 파일에 담을 ADL, 폼, 스타일 시트 등의 목록을 구성합니다.

Archive_Make-File-Archive_Step2

항목

설명

1

Add

아카이브를 추가합니다.

2

Delete

선택된 아카이브를 삭제합니다.

3

Archive

생성할 아카이브 파일 목록입니다.

최소 1개 이상의 아카이브를 추가해야 합니다.

4

Select File

아카이브 생성 시 구성할 프로젝트 파일들을 선택할 수 있습니다.

Step 1에서 지정한 Output Path에 이전에 생성한 아카이브 파일이 있는 경우에는 현재 프로젝트 파일과 비교하여 일치하면 아카이브 파일을 로드하여 트리 형태로 보여줍니다.

최소 1개 이상의 파일을 선택해야 합니다.

5

Update

TypeDefinition의 Update(Resource)에 아카이브 파일을 수동으로 추가할 수 있습니다.

6

Finish

TypeDefinition 항목이 이미 입력되어 있을 때 해당 단계를 건너뛰고 바로 아카이브 파일을 만듭니다.

Step 3

TypeDefinition의 Update 항목을 등록합니다.

Archive_Make-File-Archive_Update

항목

설명

1

Add

SystemType을 생성한 뒤, OS, Device, Resource를 추가합니다.

Device 항목에 특정 Device별로 다른 설정이 필요할 때

system.mobileproducttype 속성값과 일치하는 값을 지정해야 합니다.

예) SHW-M250S, Nexus One


※ 세부항목으로 아래 항목을 설정할 수 있습니다.

- UpdateURL : 컴포넌트 라이브러리를 업데이트하기 위한 URL을 지정하는 속성입니다.

2

Add

Step 2에서 생성될 아카이브 파일을 Resource에 등록합니다.

UpdateURL 항목은 "./" 형식으로 상대경로를 지정할 수 있습니다.

Edit_Update-Add_Resource

항목

설명

1

Type

등록할 수 있는 타입은 File, Engine, Theme입니다.

프로젝트 아카이브와 테마 아카이브를 생성하지 않고 웹 서버에서 직접 내려받고자 하는 경우에는 Engine 항목만 지정합니다.

2

File

File 이름은 위 Step 2에서 만들어 놓은 아카이브 이름을 목록에서 선택할 수 있습니다.

  1. 생성된 아카이브 파일을 배포 서버에 수동으로 반영합니다.

Make Theme Archive

테마 파일을 아카이브 파일로 만드는 기능입니다.

아카이브 파일은 사용자가 지정한 테마명으로 생성되며 생성된 파일명은 임의로 변경해서는 안 됩니다.

테마 아카이브 파일은 앱이 처음 설치될 때 배포서버에 연결해 내려받으며 이후에는 단말기에 저장된 데이터로 실행합니다.

  1. [넥사크로 스튜디오 > Archive > Make Theme Archive] 메뉴를 클릭합니다.

  1. 자바스크립트 파일로 변환된 테마 아카이브를 만듭니다.

Step 1

테마 아카이브 파일을 생성할 경로를 지정합니다.

Archive_Make-Theme-Archive_Step1

항목

설명

1

Output Path

압축된 아카이브 파일을 생성할 경로를 선택합니다.

2

Target Path

HTML5로 컴파일된 프로젝트 경로를 선택합니다. HTML5 프로젝트 컴파일 시 경로를 저장해놓았다면 자동으로 현재 프로젝트의 컴파일 경로가 입력됩니다.

3

Finish

현재 활성화되어 있는 ADL에서 사용하고 있는 테마들이 적용된 테마 아카이브 파일을 생성합니다.

Step 2

아카이브 파일로 생성할 테마를 선택합니다.

Archive_Make-Theme-Archive_Step2

항목

설명

1

Theme

아카이브할 대상이 되는 테마를 선택합니다.

선택할 테마는 HTML5로 미리 컴파일되어 있어야 하며 컴파일된 파일은 [Compiled Path]/../_theme_ 폴더에 있어야 합니다.

현재 프로젝트에서 사용중인 Active 테마, 스크린 지정 테마 목록을 자동으로 체크하여 표시합니다.

최소 1개 이상의 테마를 선택해야 합니다.

2

Update

TypeDefinition의 Update(Resource)에 아카이브 파일을 수동으로 추가할 수 있습니다.

3

Finish

선택한 테마로 아카이브 파일을 생성합니다.

  1. 생성된 아카이브 파일을 배포 서버에 수동으로 반영합니다.