我有两个项目,A
和B
。这两个项目都依赖于org.bitcoinj:bitcoinj-core:0.14.7
。
A
是2016年以来的较旧项目,可以很好地编译并向我的设备或仿真器启动debug-apk。
B
是一个新项目。 B
有一个库模块LibB
,它实际上包含对bitcoinj
的引用。 B
运行得很好,在build.gradle中不包含libB
。但是,如果我在libB
的{{1}}中包含build.gradle
,则Android Studio会在通知B
之前,在Install APK
步骤上暂停8-10分钟。偶尔(不一致),我会得到Session 'app': Error Launching activity
,我从question中知道这是由于没有适用于CPU体系结构的正确本机库引起的。
查看gradle为每个项目运行的任务,我可以看到项目INSTALL_FAILED_NO_MATCHING_ABIS
执行NDK任务,A
,:app:compileDebugNdk
等。:app:mergeDebugJniLibFolders
不运行这些步骤。我试图将B
包括在根项目中,而不是通过库,并且在执行这些步骤的同时,我仍然可以通过bitcoinj
得到相同的结果。我什至走了一个新的空项目B
,并将C
包含在依赖项中,而且也无法部署到我的设备上。
我已遍历我的bitcoinj
文件,build.gradle
,gradle-wrapper.properties
,gradle.properties
,gradle包装器和其他非源文件,以期找到不一致的地方会导致这些构建失败,但是我还没有发现。
我意识到这是一个相当模糊和复杂的问题,并且非常乐意用可能缺少的任何澄清来更新该问题。
所有这些,我该怎么做才能编译我的项目?
===== EDIT =====
我发现了this issue on the bitcoinj github,但是这种方法似乎存在一些问题。
settings.gradle
块必须包含在packagingOptions
的build.gradle中,而不是B
中,这会导致分发时变得很复杂。libB
中,它仍然有效。很沮丧。