Android 找不到类“android.app.job.JobScheduler”

2024-01-10

我在使用选项构建 apk 文件时不断收到此错误minifyEnabled true.

应用程序构建过程和安装已成功,但无法启动并出现此错误。

我已经厌倦了寻找班级图书馆。我对Android应用程序开发不太熟悉,请帮助我,

错误堆栈跟踪

05-11 11:44:09.307 10196-10196/? E/cutils: to chown(/mnt/shell/emulated/0, 0, 0)
05-11 11:44:09.307 10196-10196/? E/cutils: to chown(/mnt/shell/emulated/obb, 0, 0)
05-11 11:44:09.308 10196-10196/? E/cutils: to chown(/storage/emulated/0/Android, 0, 0)
05-11 11:44:09.308 10196-10196/? E/cutils: to chown(/storage/emulated/0/Android/obb, 0, 0)
05-11 11:44:09.393 10196-10196/? E/dalvikvm: Could not find class 'android.app.job.JobScheduler', referenced from method com.google.android.gms.internal.zzcll.zzbax
05-11 11:44:09.394 10196-10196/? E/dalvikvm: Could not find class 'android.app.job.JobScheduler', referenced from method com.google.android.gms.internal.zzcll.zzs
05-11 11:44:09.405 10196-10211/? E/dalvikvm: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.internal.zzbhe.zzf
05-11 11:44:09.647 10196-10216/? E/JniHelper: Failed to find static method id of setAnimationInterval
    Failed to find static java method. Class name: org/cocos2dx/lib/Cocos2dxRenderer, method name: setAnimationInterval, signature: (F)V 
05-11 11:44:09.840 10196-10216/? E/JniHelper: Failed to find static method id of setAnimationInterval
    Failed to find static java method. Class name: org/cocos2dx/lib/Cocos2dxRenderer, method name: setAnimationInterval, signature: (F)V 
05-11 11:44:09.872 10196-10216/? E/AndroidRuntime: FATAL EXCEPTION: GLThread 11342
    java.lang.NoClassDefFoundError: org/cocos2dx/lib/Cocos2dxDownloader
        at org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(Native Method)
        at org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(Cocos2dxRenderer.java:73)
        at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1494)
        at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "org.cocos2dx.lib.Cocos2dxDownloader" on path: DexPathList[[zip file "/data/app/com.company.game-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.company.game-1, /vendor/lib, /system/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
        at org.cocos2dx.lib.Cocos2dxRenderer.nativeInit(Native Method) 
        at org.cocos2dx.lib.Cocos2dxRenderer.onSurfaceCreated(Cocos2dxRenderer.java:73) 
        at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1494) 
        at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240) 

gradle.properties

PROP_COMPILE_SDK_VERSION=14
PROP_MIN_SDK_VERSION=14
PROP_TARGET_SDK_VERSION=22
PROP_APP_PLATFORM=14

# Supported ABIs are [armeabi,arm64-v8a, armeabi-v7a, mips, x86].
PROP_APP_ABI=armeabi-v7a:x86

构建.gradle

import org.apache.tools.ant.taskdefs.condition.Os

apply plugin: 'com.android.application'

android {
    compileSdkVersion 14
    signingConfigs {
        release {
            if (project.hasProperty("RELEASE_STORE_FILE")) {
                storeFile file(RELEASE_STORE_FILE)
                storePassword RELEASE_STORE_PASSWORD
                keyAlias RELEASE_KEY_ALIAS
                keyPassword RELEASE_KEY_PASSWORD
            }
        }
    }
    defaultConfig {
        applicationId "com.company.game"
        minSdkVersion PROP_MIN_SDK_VERSION
        targetSdkVersion PROP_TARGET_SDK_VERSION
        versionCode 1
        versionName "1.0"
        externalNativeBuild {
            ndkBuild {
                if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) {
                    // skip the NDK Build step if PROP_NDK_MODE is none
                    targets 'game'
                    arguments 'NDK_TOOLCHAIN_VERSION=4.9'
                    arguments 'APP_PLATFORM=android-' + PROP_APP_PLATFORM

                    def module_paths = [project.file("../../cocos2d").absolutePath,
                                        project.file("../../cocos2d/cocos").absolutePath,
                                        project.file("../../cocos2d/external").absolutePath]
                    if (Os.isFamily(Os.FAMILY_WINDOWS)) {
                        // should use '/'
                        module_paths = module_paths.collect { it.replaceAll('\\\\', '/') }
                        arguments 'NDK_MODULE_PATH=' + module_paths.join(";")
                    } else {
                        arguments 'NDK_MODULE_PATH=' + module_paths.join(':')
                    }

                    arguments '-j' + Runtime.runtime.availableProcessors()
                    abiFilters.addAll(PROP_APP_ABI.split(':').collect { it as String })
                }
            }
        }
        signingConfig signingConfigs.release
    }
    sourceSets.main {
        java.srcDir "src"
        res.srcDir "res"
        manifest.srcFile "AndroidManifest.xml"
        assets.srcDir "../../Resources"
    }
    externalNativeBuild {
        ndkBuild {
            if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) {
                // skip the NDK Build step if PROP_NDK_MODE is none
                path "jni/Android.mk"
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled true // Here
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            if (project.hasProperty("RELEASE_STORE_FILE")) {
                signingConfig signingConfigs.release
            }
            externalNativeBuild {
                ndkBuild {
                    arguments 'NDK_DEBUG=0'
                }
            }
        }
        debug {
            minifyEnabled true // and here
            useProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            externalNativeBuild {
                ndkBuild {
                    arguments 'NDK_DEBUG=1'
                }
            }
        }
    }
    buildToolsVersion '27.0.3'
    productFlavors {
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation project(':libcocos2dx')
    implementation 'com.google.firebase:firebase-ads:11.8.0'
    implementation 'com.google.android.gms:play-services-base:11.8.0'
}

apply plugin: 'com.google.gms.google-services'

proguard-rules.pro

# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in E:\developSoftware\Android\SDK/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

#-keep class com.google.android.gms.** { *; }
#-dontwarn com.google.android.gms.**

# com.google.android.gms:play-services-base:11.8.0
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**

# com.google.firebase:firebase-ads:11.8.0
-keep public class com.google.firebase.* { public *; }
-dontwarn com.google.firebase.**

-keep public class com.google.android.gms.ads.* { public *; }
-dontwarn com.google.android.gms.ads.**

-keep public class com.google.ads.** { public *; }
-dontwarn com.google.ads.**

这是一个 Cocos2d-x v3 C++ 游戏。谢谢


JobSchedulerAPI是从API 5.0开始引入的。因此它不适用于 4.2.2 等旧版本,因此您会遇到错误

对于低于 5.0 的版本,使用Firebase JobDispatcher。参考这个文档 https://developer.android.com/topic/performance/scheduling更多细节。

Firebase JobDispatcher是一个开源库,提供类似于Android平台中JobScheduler的API。Firebase JobDispatcher 充当针对低于 5.0 的 Android 版本的应用程序的 JobScheduler 兼容层(API 级别 21)。

你也应该更新compileSdkVersion从 14 增加到 26 或 27。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 找不到类“android.app.job.JobScheduler” 的相关文章

  • 模拟器无法加载

    我正在使用 hello android 教程并通过 eclipse 创建 avd 启动模拟器时不使用图像 它只是显示一个黑色的后屏 中间有 ANDROID 字样 并且在 ANDROID 字样的末尾有一个闪烁的光标 我已按照 T 的步骤安装
  • Jetpack Compose:制作全屏(绝对定位)组件

    我怎样才能在全屏渲染树的深处制作一个可组合的 类似于Dialog可组合作品 例如 当用户单击图像时 它会显示该图像的全屏预览 而无需更改当前路线 我可以用 CSS 来做到这一点position absolute or position fi
  • 如何在Android模拟器中隐藏应用程序图标?

    我有一个应用程序在启动完成后自动启动 但应用程序图标显示在android模拟器中 现在我想向用户隐藏该图标 这样用户就无法知道应用程序已启动 并且他们无法启动该应用程序手动申请 在您的 AndroidManifest xml 文件中 您可能
  • 双屏 Android Studio 中不显示自动补全

    我刚刚从 Eclipse 切换到 Android Studio IntelliJ 我不明白自动补全是如何工作的 我尝试了 Control Space Control Shift Space 但没有相关建议 不在 Java 文件中 也不在布局
  • Android Google Map V2:如何在单击另一个标记时更改先前单击的标记的图标

    更新 我通过添加 previousMarker 对象解决了性能问题 因此 只有先前单击的标记将被删除并替换为默认图标 但是 当我单击标记时 信息窗口仍然不显示 我有一个地图视图并在上面设置了一些标记 我想要的是 当我单击一个标记时 它将其图
  • Tomcat 6 未从 WEB-INF/lib 加载 jar

    我正在尝试找出我的 tomcat 环境中的配置问题 我们的生产服务器正在运行 tomcat 安装并从共享 NFS 挂载读取战争 然而 当我尝试使用独立的盒子 及其配置 进行同样的战争时 我收到下面发布的错误 有趣的是 如果我将 WEB IN
  • Expresso 的 Android 测试首选项片段

    我在通过 Expresso 测试我的代码时遇到问题 我写了这段代码 public class SettingsActivity extends Activity Override protected void onCreate Bundle
  • Azure Java SDK:ServiceException:ForbiddenError:

    尝试了基本位置检索器代码 如下所示 String uri https management core windows net String subscriptionId XXXXXXXX 5fad XXXXXX 9dfa XXXXXX St
  • java实现excel价格、收益率函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Android 中 Activity 之间的 3D 动画

    How to create animation between two Activity look like As Screen shot in android 搜索jazzyviewpager 这是link https github co
  • 我所有的 java 应用程序现在都会抛出 java.awt.headlessException

    所以几天前我有几个工作Java应用程序使用Swing图书馆 JFrame尤其 他们都工作得很好 现在他们都抛出了这个异常 java awt headlessexception 我不知道是什么改变了也许我的Java版本不小心更新了 谢谢你尽你
  • Spring Data Rest 多对多 POST

    首先 让我解释一下我的用例 这非常简单 有一个用户实体和一个服务实体 我使用 UserService 作为连接实体 连接表 在用户和服务之间建立多对多关联最初 会有一些用户集和一些服务集 用户可以在任何时间点订阅任何服务 在这种情况下 将向
  • 在 Java 中通过 D-Bus MPRIS 访问 Clementine 实例

    我使用 Clementine 作为音乐播放器 它可以通过 D Bus 命令进行控制 在命令行上 使用 qdbus 我可以 Start Stop 暂停播放器 强制它跳过播放列表中的歌曲 检查播放列表的长度 检查播放列表中当前播放的曲目及其元数
  • Java 中清除嵌套 Map 的好方法

    public class MyCache AbstractMap
  • TabLayout 的不同 tabMode

    我正在使用 ViewPager 和 TabLayout 如果选项卡可以放置在显示 tabMode 上 则它们必须是 app tabMode fixed else app tabMode scrollable 我怎样才能做到这一点 我不明白你
  • Android:透明活动问题

    最近 在我们的一款生产应用程序上 透明活动已停止工作 我的意思是它变成了黑色背景而不是透明背景 当我将活动的背景颜色设置为纯色 即红色 绿色等 时 它的应用不会出现问题 该问题可能是由于迁移到 AndroidX 引起的 但我没有这方面的证据
  • Spring 作为 JNDI 提供者?

    我想使用 Spring 作为 JNDI 提供程序 这意味着我想在 Spring 上下文中配置一个 bean 可以通过 JNDI 访问该 bean 这看起来像这样
  • 设置 TreeSet 的大小

    有没有办法像数组一样对 Java 集合中的 TreeSet 进行大小限制 例如我们在数组中 anArray new int 10 数组具有固定长度 在创建数组时必须指定该长度 A TreeSet当您向其中添加元素时会自动增长 您无法设置其大
  • 关闭扫描仪是否会影响性能

    我正在解决一个竞争问题 在问题中 我正在使用扫描仪获取用户输入 这是 2 个代码段 一个关闭扫描器 一个不关闭扫描器 关闭扫描仪 import java util Scanner public class JImSelection publ
  • 如何用LoaderManager自动重新查询

    我有一个应用程序显示来自 SQLite DB 的数据 并且数据不断变化 所以显然 我认为我应该使用 LoaderManager 来显示数据 我读过一些关于将 LoaderManager 与 SQLite 结合使用的内容 然后看到了亚历克斯

随机推荐

  • 生成具有 2 个 OU 名称的 CSR

    我必须创建一个生成 CSR 的应用程序 在生成 CSR 时 我们需要填写一些详细信息 例如 CN OU 等 问题是我必须向其发送 CSR 的认证机构需要 2 个 OU 组织单位 名称 我用 google 搜索了很多 但找不到任何使用 ope
  • 如何在 Google Analytics 中跟踪“打开新标签”流量

    我有一个推荐网站 它使用一个网址来访问我的实施了谷歌分析的网站 当用户单击链接时 推荐网站会在同一窗口的新选项卡中打开我的网站 我想为每个推荐网站创建一个配置文件 以便每个配置文件都有自己的有关用户活动和交易转化的报告 我是谷歌分析的新手
  • R - 将 data.frame 转换为多维矩阵

    来自 data frame 的示例 x data frame c 1 1 2 2 3 3 c 1 2 1 2 1 2 c 1 1 1 2 2 2 c 12 14 22 24 34 28 colnames x c Store Dept Yea
  • 将 Google Analytics 添加到 Rails 4.2 应用程序

    我有一个使用 Heroku 部署的 Rails 4 2 应用程序 并且尝试向其中添加 Google Analytics 但是 Google Analytics 没有获取任何会话 有什么建议为什么以及如何解决这个问题吗 CODE app la
  • 在办公室 LAN 上设置 xampp 服务器

    我希望在小型办公室内使用 xampp 设置服务器 我当然会保护 xampp 但为了使我的 web 应用程序可供网络上的其他 4 台电脑使用 我是否只创建一个虚拟主机 有没有办法确保只能在局域网上访问Web应用程序 当前设置包括 4 台计算机
  • OpenGL 旋转

    我正在尝试在 OpenGL 中进行简单的旋转 但一定没有抓住重点 我并不是在寻找具体的修复方法 而是在寻找快速解释或更普遍地解释 OpenGL 旋转的链接 目前我有这样的代码 glPushMatrix glRotatef 90 0 0 0
  • 使用 Hadoop MapRed 排序

    Well 我想知道如何在reduce 任务之后更改简单WordCount 程序的排序顺序 我已经制作了另一个按值排序而不是按键排序的映射 但它仍然按升序排序 有没有一种简单的方法可以做到这一点 更改排序顺序 谢谢 韦洛佐 如果您使用的是旧版
  • Android Work Manager - Work Manager 是否能 100% 确保后台执行完成?

    根据我从文档中读到的内容https developer android com topic libraries architecture workmanager https developer android com topic libra
  • 如何限制pyqt中QLineEdit中的用户输入

    我有一个QLineEdit我想限制QLineEdit仅接受整数 它应该像输入掩码一样工作 但我不想用inputmask 因为如果用户点击QLineEdit光标将位于鼠标单击的位置 用户需要导航到 0 位置并输入他想要的内容 有没有什么替代方
  • 如何在 SQL Server 2012 中设置每周自动备份?

    请建议我如何在 SQL Server 2012 中设置自动数据库备份 我需要对 SQL Server 中的所有数据库 目前仅包含 3 个 进行每周自动备份 该备份在每周五 0100 点 凌晨 1 点 运行 这些备份文件 bak 应放置在 E
  • Swift NSScriptCommand 执行默认实现

    我在 Objective C 中使用了这段代码 implementation KDOrderInfo id performDefaultImplementation NSString theRequest self directParame
  • 使用 MailKit 和 Gmail OAuth 发送邮件

    我正在尝试创建一个应用程序 在客户购买时向他们发送电子邮件 我们有自己的 GMail 帐户 我将用它来发送电子邮件 我已经设置了我的应用程序并在 Google API 控制台中创建了凭据 我发现这个问题 https github com j
  • 如何调用API(Oauth 1.0)?

    我试图调用这个API Oauth1 0标准 https appcenter intuit com api v1 Connection Reconnect https appcenter intuit com api v1 Connectio
  • C/C++宏嵌套替换逻辑

    我正在尝试实现 C C 兼容的宏处理 我可以正确处理许多极端情况 包括此处讨论的情况 了解宏间接扩展自身时 C 预处理器的行为 https stackoverflow com questions 66593868 understanding
  • UITableView 单元格重叠

    我正在实现一个带有部分索引的 tableView 每当任何特定部分中的行超过一行时 我的 tableViewCell 就会重叠 这是我的代码 NSInteger numberOfSectionsInTableView UITableView
  • Asp.net MVC 编辑器出现“类型‘System.Object’是在未引用的程序集中定义的”错误

    using Html BeginForm Index Employees FormMethod Post new encType multipart form data name EmployeeForm table class table
  • 在 glass 应用程序中创建“ok glass”样式菜单

    我刚刚开始为 Google Glass 进行开发 并且我知道 GDK 相当新 所以这可能还不可能 但我正在尝试 与 okay glass 屏幕上的 拨打电话 提示或 发送消息至 提示一样 我希望我的应用程序在您使用语音选择时具有更多语音选择
  • 如何使用 ASP.NET MVC、WebAPI 和 MEF 正确确定每个请求的组合范围

    我最近使用各种资源 包括此 SO 答案 将 MEF 添加到 MVC WebAPI 应用程序如何将 MEF 与 ASP NET MVC 4 和 ASP NET Web API 集成 https stackoverflow com questi
  • 自动将 vs2005 调试器附加到子进程

    我有一个在 Visual Studio 2005 中构建的主要 C 应用程序 名为 A exe 它生成一个子进程 B exe 我通过按 F5 在调试器中运行进程 A 我知道在进程 B 中命中断点的唯一方法是等待 A 启动它 然后运行 调试
  • Android 找不到类“android.app.job.JobScheduler”

    我在使用选项构建 apk 文件时不断收到此错误minifyEnabled true 应用程序构建过程和安装已成功 但无法启动并出现此错误 我已经厌倦了寻找班级图书馆 我对Android应用程序开发不太熟悉 请帮助我 错误堆栈跟踪 05 11