The failed


Remote device: Coolpad 5267, ARMv7 Processor rev 5(v7l), installed TVM RPC, Android 6.0.1
Local machine: Intel® Xeon® CPU E5-2620 v3 @ 2.40GHz, built tvm previously

About the tvmrpc-release .apk, my targetSdkVersion is 23 and I have modified the for APP_ABI = armeabi-v7a.

I have used NDK to generate standalone toolchain for my device.
–arch arm --api 23 --install-dir /opt/android-toolchain-armv7

In the file, I set arch = “armv7l” and add ‘-mfloat-abi=soft’ in my llvm target.

When the python code run f2 = remote.load_module(“”), crashed and the TVM RPC app on my android phone also crashed.


Could you tune the model by yourself? I met this problem the generated code has some problem.However, if you auto tune the model, the issue should be resolved.


If the failure occurs when loading the module before any code execution, it might also be a build problem.

Which ndk version are you using to build your module? Can you try 16b or an older release from here?

I do not have too much experience compiling for a 32bit android target, but setting the correct arch here may also be tricky.


Check what logcat says, it should have more specific information in it.


Thank you very much!
I have tried to use 16b to rebuild the apk and the toolchain.
Finally, I solve it!
But, I have a question that why the 18b can not work?


Good question, we have not figured this out yet either. One clue is that the latest ndk uses clang, but 16b is gcc-based.

Interestingly, the official tflite Android sample recommends an even earlier version of the ndk (14b).