确保 gradle 依赖项在应用bundle中包含 32 位和 64 位库



我想使用 xwalk 库在应用程序中嵌入 chromium webview。这是通过 gradle 依赖项完成的。

implementation 'org.xwalk:xwalk_core_library:23.53.589.4'

此依赖项是一个 .aar 文件,提供 32 位和 64 位版本。但是,只有 32 位版本实际上嵌入在构建中。

通过检查创建的应用程序包,仅嵌入了 lib/x86 和 lib/armeabi-v7a 版本。

在 maven 存储库上检查该版本的可用版本时 - 请参阅 https://download.01.org/crosswalk/releases/crosswalk/android/maven2/org/xwalk/xwalk_core_library/23.53.589.4/- 可以看到当然有适用于所有可用 CPU 架构的版本:

  • xwalk_core_library-23.53.589.4-64位.aar
  • xwalk_core_library-23.53.589.4-臂.aar
  • xwalk_core_library-23.53.589.4-arm64.aar
  • xwalk_core_library-23.53.589.4-x86.aar
  • xwalk_core_library-23.53.589.4-x86_64.aar
  • xwalk_core_library-23.53.589.4.aar

我假设通过以我的方式指定依赖项,最后一个将嵌入到应用程序中。我下载了 aar 并检查了内容,假设只包含 x86 和 arm(32( 库。我不知道这是否应该是这样,或者这是否是部署问题。

无论如何,我试图通过添加特定的 gradle 分类器来手动包含 32 位和 64 位依赖项,但由于在 aar 中还包含 java 类,我最终由于重复类而遇到构建错误。

有没有办法解决这个问题?

几天前我在xwalk_core_library上遇到了同样的问题。 我做了什么:

  1. 从网址下载 .aar 文件
  2. 将其添加到libs文件夹中

app/build.gradle

对于 32 位

dependencies{
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
debugImplementation files('libs/xwalk_core_library-23.53.589.4.aar')
releaseImplementation files('libs/xwalk_core_library-23.53.589.4.aar')
}

对于 64 位

dependencies{
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
debugImplementation files('libs/xwalk_core_library-23.53.589.4-64bit.aar')
releaseImplementation files('libs/xwalk_core_library-23.53.589.4-64bit.aar')
}

并为 32 位和 64 位版本单独构建。确保在进行构建之前包含适当的.aar文件。

Android PlayStore提供多APK支持。因此,您可以同时上传多个APK。另外,不要忘记将versionCode升级到 32 位和 64 位版本。

相关内容

最新更新