title: Android - create uber/fat aar, error on implementation
body: <p>I want to create a single uber/fat aar. I have a library (libA) which is dependant on another library (libB) and I would like to bundle them together, preferably using gradle. This uber/fat aar will then be used in an app.</p>
  
  <p>Initially I looked at 2 similar gradle plugins, shadowJar and fataar but due to version incompatibilities they were a no go. So to do this, I've created a custom configuration in my gradle file and added the dependencies: </p>
  
  <pre><code>configurations { privateLibs }
  
  privateLibs ('libB.1.0.0@aar') {
      transitive=true
  }
  compile configurations.privateLibs.asFileTree
  </code></pre>
  
  <p>I can then run gradle install to produce libA-1.0.0.aar.</p>
  
  <p>When I inspect libA.aar and look at it's contents using </p>
  
  <pre><code>jar tvf libA-1.0.0.aar
  </code></pre>
  
  <p>I can see LibB listed under the libs folder:</p>
  
  <pre><code>BST 2018 libs/libB-1.0.0.aar
  </code></pre>
  
  <p>I've now created an app inclduing my new library libA-1.0.0.aar as a local dependency. Later it will be resolved through an external repository. </p>
  
  <pre><code>implementation files('libs/libA-1.0.0.@aar')
  </code></pre>
  
  <p>The app compiles and appears to be ready to run. However when I try to run the app in the android simulator it throws up an error message:</p>
  
  <pre><code>error: cannot access ExampleClass class file for com.sample.ExampleClass
  </code></pre>
  
  <p>ExampleClass is a class created in libB and implemented in libA. It appears as though libA has no knowledge of libB despite it being available in the libs folder of the libA aar. Is the build steps here wrong? Should this be done another way? Thanks in advance!</p>