Hello Nexacro Android Webview

안드로이드 하이브리드 버전을 테스트 하기 위한 앱 입니다. ### 테스트 사전 단계 - 빌드된 *.aar 라이브러를 아래의 경로에 추가합니다. ```sh Hybrid/example/HelloNexacroAndroid/app/libs/Acceleration-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/AudioPlayer-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/BluetoothLE-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/Camera-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/Contact-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/ExternalAPI-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/Geolocation-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/ImagePicker-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/LiteDB-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/Network-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/NexacroLib-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/Phone-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/Sms-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/Vibrate-release.aar Hybrid/example/HelloNexacroAndroid/app/libs/XPush-release.aar ``` ## 빌드에 필요한 추가 의존 라이브러리 - DeviceAPI 및 nexacro.aar 에서 사용 됩니다. ```sh implementation "androidx.room:room-runtime:2.4.3" implementation 'androidx.exifinterface:exifinterface:1.3.4' implementation 'com.google.firebase:firebase-core:21.1.1' implementation 'com.google.firebase:firebase-messaging:23.1.2' implementation 'com.squareup.okhttp3:okhttp:4.10.0' implementation 'org.slf4j:slf4j-api:1.7.36' annotationProcessor "androidx.room:room-compiler:2.4.3" implementation fileTree(dir: "libs", include: ["*.aar"]) ``` ## 테스트 방법 - Nexacro N Runtime for Android 와 거의 동일한 방법으로 구동합니다. - NexacroActivity 클래스를 상속받은 MainActivity.java 의 onCreate 함수 안에서 deploy 된 주소를 입력합니다. - 서버, 업데이트, 로컬 방식을 지원 합니다. ```sh public class MainActivity extends NexacroActivity { ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 업데이트 or 서버 방식 setProjectURL("http://.../_android_/"); setBootstrapURL("http://.../_android_/start_android.json"); // 로컬 방식 (디플로이된 컨텐츠는 assets/archive 폴더에 위치 시킨다) setBootstrapURL("file:///android_asset/archive/start_android.json"); } ... } ``` ## 코르도바 플러그인 추가 방법 - (개발중인) 코르도바 제네레이터를 사용합니다. - 코르도바 플러그인 모듈이 생성됩니다. - 넥사크로 프로젝트 하위 경로로 필요한 플러그인 소스가 복사되어 배치됩니다. - 넥사크로 프로젝트에 배치된 소스가 앱 프로젝트에 복사됩니다. - 코르도바 제네레이터가 하지 못하는 작업은 plugin.xml 정보를 바탕으로 아래와 같이 직접 수정합니다. 1. 넥사크로 plugin_config.xml 파일에 코르도바 플러그인을 다음과 같이 등록 ```sh plugin.xml ==> plugin_config.xml 코르도바의 config.xml은 넥사크로의 plugin_config.xml 파일과 동일한 역할을 합니다. ``` 2. 앱의 AndroidManifest.xml 에 권한 및 기타 정보 추가 - uses-permission, uses-feature 3. 플러그인의 종류에 따라서 이외의 작업이 있을수 있습니다. 4. 빌드. ## 프로젝트 구성 참고 사항 - notification을 사용하는 경우 (notification enable="true") firebase를 통해 google service 설정이 필요합니다. - 테마에서 액션바를 제거하였습니다. (NoActionBar) - AndroidManifest.xml 에서 필수적인 권한을 추가하였습니다.