0

我想使用 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-64bit.aar
  • xwalk_core_library-23.53.589.4-arm.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 类,所以由于重复的类,我最终遇到了构建错误。

有没有办法解决这个正确的gradle方式?

4

1 回答 1

0

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

  1. 从 URL 下载 .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。另外,不要忘记升级versionCode32 位和 64 位版本。

于 2019-09-06T08:20:09.600 回答