RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1064892
Accepted
Гаджикадиев Рамазан
Гаджикадиев Рамазан
Asked:2020-12-31 21:32:07 +0000 UTC2020-12-31 21:32:07 +0000 UTC 2020-12-31 21:32:07 +0000 UTC

如何构建支持 x64 的 APK

  • 772

在 Google Play 上发布应用程序时,出现错误:

错误 此版本不符合 64 位应用程序的 Google Play 要求。

以下 APK 或 App Bundle 可用于 64 位设备,但仅包含 32 位本机代码:203。

在您的应用程序中包含 64 位和 32 位本机代码。使用“Android App Bundle”发布格式确保每台设备只下载适合其架构的本机代码。这将有助于减小应用程序的整体大小。阅读更多…

为了修复错误,我ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'在 build.gradle 中使用了它。

但是 /lib/x86_64 和 /lib/arm64-v8a/ 目录中缺少其中一个库

下面是 APK Analyzer 的截图:

APK 分析器

UPD 1 本机代码用于使用的库之一。下面我留下了依赖项,该库不是为 x64 构建的。

apply plugin: 'com.android.application'
apply plugin: "androidx.navigation.safeargs"

android {
    signingConfigs {
        release {
            ...
        }
    }
    compileSdkVersion 29
    defaultConfig {
        applicationId 'ooo.cron.dagestan'
        minSdkVersion 21
        targetSdkVersion 29
        multiDexEnabled true
        versionCode 202
        versionName "2.0.2"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        ndk {
            ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
        }
        signingConfig signingConfigs.release
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }

    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    ...
    implementation "com.github.lespinsideg:SimplePanorama:0.3.1"
    ...
    implementation project(path: ':domain')
    implementation project(path: ':data')
}

下面还有一段日志:

Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/ooo.cron.dagestan-87Y2xvDJwseiKSW0mp1u5A==/base.apk"],nativeLibraryDirectories=[/data/app/ooo.cron.dagestan-87Y2xvDJwseiKSW0mp1u5A==/lib/arm64, /data/app/ooo.cron.dagestan-87Y2xvDJwseiKSW0mp1u5A==/base.apk!/lib/arm64-v8a, /system/lib64]]] couldn't find "libglues.so"
        at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
        at java.lang.System.loadLibrary(System.java:1669)
        at com.panoramagl.opengl.GLUES.<clinit>(GLUES.java:31)
        at com.panoramagl.opengl.GLUES.gluNewQuadric(GLUES.java:38)
        at com.panoramagl.PLQuadricPanoramaBase.initializeValues(PLQuadricPanoramaBase.java:43)
        at com.panoramagl.PLSphericalPanorama.initializeValues(PLSphericalPanorama.java:37)
        at com.panoramagl.PLObjectBase.<init>(PLObjectBase.java:28)
        at com.panoramagl.PLObject.<init>(PLObject.java:44)
        at com.panoramagl.PLRenderableElementBase.<init>(PLRenderableElementBase.java:27)
        at com.panoramagl.PLSceneBase.<init>(PLSceneBase.java:40)
        at com.panoramagl.PLPanoramaBase.<init>(PLPanoramaBase.java:32)
        at com.panoramagl.PLQuadricPanoramaBase.<init>(PLQuadricPanoramaBase.java:26)
        at com.panoramagl.PLSphericalPanorama.<init>(PLSphericalPanorama.java:31)
        at com.lespinside.simplepanorama.view.SphericalView.setPanorama(SphericalView.java:74)
        at ooo.cron.dagestan.fragments.PlaceAVFragment.setBitmap(PlaceAVFragment.java:65)
        at ooo.cron.dagestan.activities.MainActivity.setPortraitBitmap(MainActivity.java:281)
        at ooo.cron.dagestan.views.MainView$$State.setPortraitBitmap(MainView$$State.java:228)
        at ooo.cron.dagestan.presenters.MainPresenter$3.onResourceReady(MainPresenter.java:685)
        at ooo.cron.dagestan.presenters.MainPresenter$3.onResourceReady(MainPresenter.java:681)
        at com.bumptech.glide.request.SingleRequest.onResourceReady(SingleRequest.java:582)
        at com.bumptech.glide.request.SingleRequest.onResourceReady(SingleRequest.java:544)
        at com.bumptech.glide.load.engine.EngineJob.callCallbackOnResourceReady(EngineJob.java:152)
        at com.bumptech.glide.load.engine.EngineJob$CallResourceReady.run(EngineJob.java:398) 
        at android.os.Handler.handleCallback(Handler.java:873) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:201) 
        at android.app.ActivityThread.main(ActivityThread.java:6810) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) 
2019-12-31 17:33:40.452 3336-3900/? E/PanoramaGL - PLRenderableElementBase::render: java.lang.NoClassDefFoundError: com.panoramagl.opengl.GLUES
        at com.panoramagl.opengl.GLUES.gluUnProject(GLUES.java:205)
        at com.panoramagl.PLSceneBase.createRayWithPoint(PLSceneBase.java:421)
        at com.panoramagl.PLSceneBase.endRender(PLSceneBase.java:354)
        at com.panoramagl.PLRenderableElementBase.render(PLRenderableElementBase.java:164)
        at com.panoramagl.PLRenderer.renderScene(PLRenderer.java:266)
        at com.panoramagl.PLRenderer.render(PLRenderer.java:316)
        at com.panoramagl.PLRenderer.onDrawFrame(PLRenderer.java:476)
        at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1575)
        at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)
android
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Гаджикадиев Рамазан
    2020-01-07T20:58:03Z2020-01-07T20:58:03Z

    谢谢你,尤金克里文贾!在这种情况下,我下载了包含 x64 必要库的存档( 问题解决方案)。在 src/main jniLibs 文件夹中的所需模型中创建一个文件夹,并添加适当的文件,一切正常。 在此处输入图像描述

    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    根据浏览器窗口的大小调整背景图案的大小

    • 2 个回答
  • Marko Smith

    理解for循环的执行逻辑

    • 1 个回答
  • Marko Smith

    复制动态数组时出错(C++)

    • 1 个回答
  • Marko Smith

    Or and If,elif,else 构造[重复]

    • 1 个回答
  • Marko Smith

    如何构建支持 x64 的 APK

    • 1 个回答
  • Marko Smith

    如何使按钮的输入宽度?

    • 2 个回答
  • Marko Smith

    如何显示对象变量的名称?

    • 3 个回答
  • Marko Smith

    如何循环一个函数?

    • 1 个回答
  • Marko Smith

    LOWORD 宏有什么作用?

    • 2 个回答
  • Marko Smith

    从字符串的开头删除直到并包括一个字符

    • 2 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5