Is it possible to implement AIDL without the implementation of remote service? After some investigation of google play services I notice that some AIDL calls executed with the following way
Obtain the remote context with the following way
Context c = context.createPackageContext("com.google.android.gms", 3)
Get class loader and load class which implements IBinder
ClassLoader localClassLoader = c.getClassLoader(); IBinder localIBinder = (IBinder)localClass.newInstance(); IInterface localIInterface = paramIBinder.queryLocalInterface("com.google.android.gms.plus.internal.IPlusOneButtonCreator");
And we can communicate with it!
I wonder why this is allowed and why there is no Service on other side? Where do the whole data lives? Does this call starts a new process?