This was an easy fix, but it was quite weird. Android AIDL files can only contain primitive data types such as int, long, char and boolean, as well as String, List, CharSequence and Map.
In my case, I was passing around a Bitmap.
All I need to do was to add an import statement at the top of my .aidl file for Bitmap library:
and in my function declaration state whether it was in/out/both:
void openFile(String path, int hash, String title, in Bitmap image);
In my case it was input only, but, as the error message says, it could have been in, out or inout.