title: How to make Android App backward compatible when AIDL interface gets updated
body: <p><strong>How to make Android App backward compatible when AIDL interface gets updated?</strong></p>
  <p>For example, if my app accesses an AIDL interface to complete IPC call:</p>
  <pre><code>interface SampleAidl {
      int sampleMethod(int i);
  }
  </code></pre>
  <br/>
  On a different platform, the same AIDL updates to a new version which not only changes the arguments of original sampleMethod but also adds another method:
  <pre><code>interface SampleAidl {
      int sampleMethod(int i, byte[] ext);
      void sampleMethodExtra();
  }
  </code></pre>
  <p>The AIDL name and packages remain the same.</p>
  <p><br/> I have a flag which could decide which version of AIDL to use.
  <strong>The question is, if there is any solution/clue that my app could include both versions of AIDL in compile time, and then runtime pick up the right one just by the flag?</strong></p>
  <p>Or the only way is, my app needs to have separate versions to support different AIDLs?</p>