4 - android studio: https://developer.android.com/studio
6 Install `ndk 20.0.5594570`
8 dragon@loki:~/Android/Sdk$ ./tools/bin/sdkmanager --install "ndk;20.0.5594570"
12 dragon@loki:~/Android/Sdk/ndk$ ls
16 Set `ANDROID_SDK_ROOT` or `ANDROID_HOME` for SDK
20 export ANDROID_SDK_ROOT=$HOME/Android/Sdk
21 export ANDROID_HOME=$HOME/Android/Sdk
26 after building `onert`
28 ONE/runtime/contrib/android $ ./gradlew build
31 ONE/runtime/contrib/android$ find . -name "*.aar"
32 ./api/build/outputs/aar/com.samsung.onert-1.0-debug.aar
33 ./api/build/outputs/aar/com.samsung.onert-1.0-release.aar
39 import com.samsung.onert.Session;
40 import com.samsung.onert.Tensor;
42 // for now, the only cpu backend has been supported
43 Session session = new Session("/sdcard/nnpkg/model/", "cpu");
46 Tensor[] inputs, outputs;
48 // allocate inputs and outputs like below
49 // int size = session.getInputSize();
50 // inputs = new Tensor[size];
51 // for (int i = 0; i < size; ++i){
52 // TensorInfo ti = session.getInputTensorInfo(i);
53 // inputs[i] = new Tensor(ti);
55 // session.setInputs(inputs);
57 session.setInputs(inputs);
58 session.setOutputs(outputs);
60 // source inputs from outside
61 // inputs[i].buffer().put(outside_buffer);
65 // sink outputs to inside
66 // outside_buffer.put(outputs[i].buffer());
73 ONE/runtime/contrib/android $ ./update_jni_header.sh
76 and then follow code of `onert-native-api.h` on `onert-native-api.cpp`