Roy*_*Roy 9 android native gradle
几个月前,我在 Google Play 生产中切换到 Android App Bundle (ABB),并发布了几个更新 - 一切都很好。上周,我进行了 Android Studio 更新,发现只有 ABB 构建无法在运行时加载我的本机库之一。但是 APK 构建(发布)和调试构建可以很好地加载本机库。
我被迫部署一个 APK 来替换生产中损坏的 ABB 版本。
我发现 ABB 软件包包含所有四个(arm64-v8a、armeabi-v7a、x86、x86_64)目录,并且我所有的 .SO 文件都在其中(与 APK 软件包中的相同)。
为了进一步调查,我编辑了 Android Studio 运行配置以部署“来自应用程序包的 APK”,并验证本机库无法仅针对 ABB 构建加载(其他构建模式都可以)。
我的环境:Android Studio 4.0(目前最新),'io.fabric.tools:gradle:1.28.0'(ABB一直工作到1.26.1),compileSdkVersion 28,buildToolsVersion'28.0.3'
没有简单的方法可以回滚最新更新。请让我知道如何解决此构建问题。感谢你的帮助。
Roy*_*Roy 12
终于找到了解决此问题的解决方法。我使用的第三方库不符合最近的 Gradle 更改。当设备上的 ABB 构建 APK 时,库的 Java 代码不知道其 SO 文件的正确路径。gradle.properties 文件中的设置效果很好。
构建 Android App Bundle 时,从面向 Android 6.0(API 级别 23)或更高版本的应用程序包生成的 APK 现在默认包含本机库的未压缩版本。此优化避免了设备复制库的需要,从而减少了应用程序的磁盘大小。如果您想禁用此优化,请将以下内容添加到您的 gradle.properties 文件中:
android.bundle.enableUncompressedNativeLibs = false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2175 次 |
| 最近记录: |