AOS_iOS_NRE_Sample/NexacroN_V24/Android/HelloNexacroAndroid
techAdmin f1a56f00ee NexacroN v24 프로젝트 추가 2023-09-18 15:18:52 +09:00
..
app NexacroN v24 프로젝트 추가 2023-09-18 15:18:52 +09:00
gradle/wrapper NexacroN v24 프로젝트 추가 2023-09-18 15:18:52 +09:00
README.md NexacroN v24 프로젝트 추가 2023-09-18 15:18:52 +09:00
build.gradle NexacroN v24 프로젝트 추가 2023-09-18 15:18:52 +09:00
gradle.properties NexacroN v24 프로젝트 추가 2023-09-18 15:18:52 +09:00
gradlew NexacroN v24 프로젝트 추가 2023-09-18 15:18:52 +09:00
gradlew.bat NexacroN v24 프로젝트 추가 2023-09-18 15:18:52 +09:00
settings.gradle NexacroN v24 프로젝트 추가 2023-09-18 15:18:52 +09:00

README.md

Hello Nexacro Android Webview

안드로이드 하이브리드 버전을 테스트 하기 위한 앱 입니다.

테스트 사전 단계

  • 빌드된 *.aar 라이브러를 아래의 경로에 추가합니다.
    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 에서 사용 됩니다.
        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 된 주소를 입력합니다.
  • 서버, 업데이트, 로컬 방식을 지원 합니다.
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 파일에 코르도바 플러그인을 다음과 같이 등록
      <!-- plugin.xml 파일 정보를 바탕으로 plugin_config.xml 파일에 등록합니다. -->
      
      plugin.xml
      <platform name="android">
          <config-file target="res/xml/config.xml" parent="/*">
              <feature name="StatusBar">
                  <param name="android-package" value="org.apache.cordova.statusbar.StatusBar" />
                  <param name="onload" value="true" />
              </feature>
              <preference name="StatusBarOverlaysWebView" value="true" />
          </config-file>
      </platform>
      
      ==>
      
      plugin_config.xml
      <plugin name="StatusBar" class="org.apache.cordova.statusbar.StatusBar" onload="true"/>
      <preference name="StatusBarOverlaysWebView" value="true" />
      
      코르도바의 config.xml은 넥사크로의 plugin_config.xml 파일과 동일한 역할을 합니다.
      
    2. 앱의 AndroidManifest.xml 에 권한 및 기타 정보 추가
      • uses-permission, uses-feature
    3. 플러그인의 종류에 따라서 이외의 작업이 있을수 있습니다.
    4. 빌드.

프로젝트 구성 참고 사항

  • notification을 사용하는 경우 (notification enable="true") firebase를 통해 google service 설정이 필요합니다.
  • 테마에서 액션바를 제거하였습니다. (NoActionBar)
  • AndroidManifest.xml 에서 필수적인 권한을 추가하였습니다.