问题描述
我正在尝试在Android设备上使用deeplearning4j,在模拟器和物理设备上的调试之间切换。
为此,我有多个依赖项,这些依赖项的规模很大并且都是必需的。幸运的是,org.bytedeco
为每个平台提供了一个实现。
因此针对Android arm-64,这是我最常忽略的其他平台,例如
// implementation group: 'org.nd4j',name: 'nd4j-native',version: '1.0.0-beta6',classifier: "android-x86_64" //for emulator
。
想要的依赖项就像:
implementation (group: 'org.deeplearning4j',name: 'deeplearning4j-core',version: '1.0.0-beta7') {
exclude group: 'org.bytedeco',module: 'opencv-platform'
exclude group: 'org.bytedeco',module: 'leptonica-platform'
exclude group: 'org.bytedeco',module: 'hdf5-platform'
}
implementation group: 'org.nd4j',version: '1.0.0-beta7'
implementation group: 'org.bytedeco',name: 'openblas',version: '0.3.9-1.5.3'
implementation group: 'org.bytedeco',name: 'opencv',version: '4.3.0-1.5.3'
implementation group: 'org.bytedeco',name: 'leptonica',version: '1.79.0-1.5.3'
implementation group: 'org.nd4j',version: '1.0.0-beta7',classifier: "android-arm64"
implementation group: 'org.bytedeco',version: '0.3.9-1.5.3',version: '4.3.0-1.5.3',version: '1.79.0-1.5.3',classifier: "android-arm64"
问题是,当我构建或清理并构建输出Jar时,它的大小超过800 mb,如果我看到依赖树,我总是会在路径中看到其他平台的jar,例如:
我知道并非所有这些都是必要的,因为在某个时间点(而且我无法重现存在的内容以及我再次追求的目标),我并没有所有的依赖关系。导出的APK约为400 mb。
那么,Windows,Linux,依赖项...
同步项目和Gradle clean Gradle构建对这些都不起作用,并且还导出APK。 APK始终> 800mb
编辑:
请不要注意不同依赖项以及API和实现之间的版本不匹配。我正在dl4j beta6,dl4j beta7和其他版本之间进行切换
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)