I have two projects, A and B. Both projects rely on org.bitcoinj:bitcoinj-core:0.14.7.
A is an older project from 2016, compiles fine and launches a debug-apk to my device or emulator.
B on the other hand, is a new project. B has a library module, LibB which actually contains the reference to bitcoinj. B runs just fine without including libB in the build.gradle. However, if I include libB in the build.gradle for B, Android Studio hangs on the Install APK step for 8-10 minutes before informing me Session 'app': Error Launching activity. Occasionally (inconsistently) I will get INSTALL_FAILED_NO_MATCHING_ABIS, which I know from this question is caused by not having the correct native libraries for the cpu architecture.
Looking at the tasks that gradle runs for each project, I can see that project A performs NDK tasks, :app:compileDebugNdk, :app:mergeDebugJniLibFolders, etc. B, however, does not run these steps. I attempted to include bitcoinj in the root project, rather than through the library, and while those steps now execute, I still get the same result with B. I've even gone so far as starting a new empty project, C, and included bitcoinj in the dependencies, and it also fails to deploy to my device.
I've stepped through my build.gradle files, gradle-wrapper.properties, gradle.properties, settings.gradle, the gradle wrapper and other files not source, in the hopes of finding an inconsistency that would lead to these failed builds, however I haven't discovered any.
I realize this is a rather vague and complicated problem, and will be more than happy to update the question with any clarifications that may be missing.
All that said, what can I do to get my projects to compile?
=====EDIT=====
I have found this issue on the bitcoinj github, but there are several issues with this approach it seems.
- The
packagingOptionsblock must be included inB's build.gradle, notlibB, which makes for complications when trying to distribute. - I have not included this block in
A, and it still works. Very stumped.