We are currently working with pytorch 1.9.1.
We were successful in using build_android.sh (non lite interpreter) with the operator list and creating static libraries. Linking them with -Wl,--start-group;-Wl,--whole-archive;${libtorch_LIBRARIES};-Wl,--no-whole-archive;-Wl,--end-group allowed to solve all symbols, and we are able to run NNAPI models.
The first issue I would like to report (Specifying USE_VULKAN=0 in launching build_android.sh does not disable Vulkan · Issue #66196 · pytorch/pytorch · GitHub 3) is that if I specify USE_VULKAN=0 while launching the build_android.sh script Vulkan is not effectively disabled and I get an error
CMake Error at cmake/VulkanCodegen.cmake:72 (message):
  Failed to gen spv.h and spv.cpp with precompiled shaders for Vulkan backend
Call Stack (most recent call first):
  caffe2/CMakeLists.txt:6 (include)

I was only able to get through this by manually editing the build_android.sh script.
The second problem is that I specify BUILD_CAFFE2_MOBILE=1 in the script, I get an error towards the end of the build process
[ 93%] Building CXX object caffe2/CMakeFiles/torch_cpu.dir/operators/rsqrt_op.cc.o
In file included from /home/claudio/pytorch/pytorch/caffe2/operators/rms_norm_op.cc:9:
In file included from /home/claudio/pytorch/pytorch/aten/src/ATen/Parallel.h:3:
/home/claudio/pytorch/pytorch/aten/src/ATen/core/ivalue.h:3:10: fatal error: 'ATen/core/TensorBody.h' file not found
#include <ATen/core/TensorBody.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~

with TensorBody.h for some reason not properly generated.
Third, if I then try to build and use the light interpreter (giving up BUILD_CAFFE2_MOBILE=1) when I load the lite NNAPI model I get the same error reported here (they are providing an example model) PyTorch NNAPI support · Issue #644 · lutzroeder/netron · GitHub
2021-10-06 11:55:48.715 13202-13202<OMITTED> E/libc++abi: terminating with uncaught exception of type c10::Error: The implementation of class __torch__.torch.classes._nnapi.Compilation cannot be found. ()
    Exception raised from parseMethods at <OMITTED>pytorch/pytorch/torch/csrc/jit/mobile/import.cpp:426 (most recent call first):
    (no backtrace available)
2021-10-06 11:55:48.795 13202-13202/<OMITTED> A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 13202 (<OMITTED>), pid 13202 (<OMITTED>)

I launched build_android.sh with the following command line:
USE_VULKAN=0 ANDROID_DEBUG_SYMBOLS=0 ANDROID_ABI=arm64-v8a ANDROID_NDK=<path_to_ndk> BUILD_LITE_INTERPRETER=1 SELECTED_OP_LIST=<path_to_op_list> scripts/build_android.sh
I verified in the cmake cache that USE_NNAPI is propertly set to 1