开发者社区 问答 正文

应用研发平台EMAS上这个情况怎么解决?

应用研发平台EMAS上这个情况怎么解决?3.8.6.1,我写了个demo,是先集成阿里云推送,集成之后然后去除阿里云推送,然后从控制台再推送,就报这个错了Fatal Exception: java.lang.RuntimeException: Unable to instantiate service com.aliyun.ams.emas.push.AgooInnerService: java.lang.ClassNotFoundException: Didn't find class "com.aliyun.ams.emas.push.AgooInnerService" on path: DexPathList[[zip file "/data/app/com.ele.test-U4OG9DjpF5Z41YrG9dA_Tw==/base.apk", zip file "/data/app/com.ele.test-U4OG9DjpF5Z41YrG9dA_Tw==/split_config.arm64_v8a.apk", zip file "/data/app/com.ele.test-U4OG9DjpF5Z41YrG9dA_Tw==/split_config.fr.apk", zip file "/data/app/com.ele.test-U4OG9DjpF5Z41YrG9dA_Tw==/split_config.xxhdpi.apk"],nativeLibraryDirectories=[/data/app/com.ele.test-U4OG9DjpF5Z41YrG9dA_Tw==/lib/arm64, /data/app/com.amour.chicme-U4OG9DjpF5Z41YrG9dA_Tw==/base.apk!/lib/arm64-v8a, /data/app/com.ele.test-U4OG9DjpF5Z41YrG9dA_Tw==/split_config.arm64_v8a.apk!/lib/arm64-v8a, /data/app/com.ele.test-U4OG9DjpF5Z41YrG9dA_Tw==/split_config.fr.apk!/lib/arm64-v8a, /data/app/com.ele.test-U4OG9DjpF5Z41YrG9dA_Tw==/split_config.xxhdpi.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
at android.app.ActivityThread.handleCreateService(ActivityThread.java:4268)
at android.app.ActivityThread.access$1500(ActivityThread.java:270)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2067)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7948)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)

展开
收起
小小鹿鹿鹿 2024-01-10 07:53:27 116 分享 版权
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个问题是由于在运行时找不到"com.aliyun.ams.emas.push.AgooInnerService"类导致的。要解决这个问题,您可以尝试以下方法:

    1. 确保您的项目中已经正确引入了阿里云推送的SDK依赖。在项目的build.gradle文件中添加以下依赖:
    implementation 'com.aliyun.alink:alink-all:1.0.0'
    
    1. 检查您的AndroidManifest.xml文件中是否已经注册了阿里云推送的服务。如果没有,请添加以下代码:
    <service
        android:name="com.aliyun.ams.emas.push.AgooInnerService"
        android:enabled="true"
        android:exported="false">
        <intent-filter>
            <action android:name="com.aliyun.ams.emas.push.MESSAGE_RECEIVED" />
        </intent-filter>
    </service>
    
    1. 如果问题仍然存在,尝试清理项目缓存并重新构建。在Android Studio中,选择"Build" > "Clean Project",然后选择"Build" > "Rebuild Project"。
    2024-01-13 17:57:20
    赞同 展开评论
  • 从错误日志来看,问题出在找不到"com.aliyun.ams.emas.push.AgooInnerService"这个类。这可能是因为你在集成阿里云推送SDK时,没有正确地引入相关的依赖。

    你可以尝试以下步骤来解决这个问题:

    1. 确保你已经在项目的build.gradle文件中添加了阿里云推送SDK的依赖。例如:
    dependencies {
        implementation 'com.aliyun:alibaba-cloud-sdk-core:4.5.0'
        implementation 'com.aliyun:alibaba-cloud-sdk-dysmsapi:2.0.0'
        // 其他需要的阿里云SDK依赖
    }
    
    1. 如果你使用的是Android Studio,确保你的项目已经同步了Gradle文件。点击菜单栏的"File" -> "Sync Project with Gradle Files",或者使用快捷键Ctrl+Shift+O。

    2. 如果问题仍然存在,尝试清理项目并重新构建。点击菜单栏的"Build" -> "Clean Project",然后点击"Build" -> "Rebuild Project"。

    希望这些建议能帮助你解决问题。

    2024-01-13 11:42:07
    赞同 展开评论
  • 这个问题发生在Android应用中,表明系统试图实例化一个名为“com.aliyun.ams.emas.push.AgooInnerService”的服务,但在应用程序的dex路径列表中找不到对应的类定义。这种情况通常出现在您移除了阿里的推送服务(如阿里云推送或AGOO服务)后,但AndroidManifest.xml或其他配置文件中仍保留了对该服务的引用。解决办法如下:

    1. 检查AndroidManifest.xml:

      • 打开您的AndroidManifest.xml文件,确保已经移除了所有与阿里云推送或AGOO服务相关的组件声明,如Receiver、Service、Activity等。

      示例:

      <service
          android:name="com.aliyun.ams.emas.push.AgooInnerService"
          android:exported="false" />
      

      如果找到了类似的服务声明,请移除。

    2. 清理项目:

      • 在IDE中,彻底清理并重新构建项目,确保所有不必要的代码和资源都被移除,并且新的apk中不再包含过时的服务类。
    3. 卸载重装应用:

      • 即使修改了代码和资源配置,由于Android系统的类加载机制,可能之前安装的应用缓存了旧的服务类,因此请在设备上卸载旧版应用后重新安装。
    4. 检查Gradle依赖:

      • 检查项目的build.gradle文件,确保阿里云推送相关的依赖库已经被移除或者注释掉。

    通过上述步骤,应该可以解决这个问题。如果问题依旧存在,请确保所有的配置文件和源代码中都没有遗留关于阿里云推送服务的引用。
    image.png

    2024-01-10 11:20:56
    赞同 展开评论