2017-06-01 27 views
1

因此,我正在使用Unity 5.6.1和Onesignal(来自该网站的最新SDk)构建Android应用程序,并且当我构建apk时它崩溃了。纵观logcat的我看到这则消息Onesignal没有找到apk的升级接收者类

产生的原因:抛出java.lang.ClassNotFoundException:未找到路径类 “com.onesignal.UpgradeReceiver”:DexPathList [zip文件“到/ mnt/ASEC/COM .MyPad3D.MazeWalkVR-2/base.apk“],nativeLibraryDirectories = [/ mnt/asec/com.MyPad3D.MazeWalkVR-2/lib/arm,/ mnt /asec/com.MyPad3D.MazeWalkVR-2/base.apk!/lib/armeabi-v7a,/ vendor/lib,/ system/lib]]

我不明白现在要做什么以及如何进一步调试,欢迎任何帮助!

+0

您是否在Android清单文件中定义了此类? – Rims

+0

你使用什么编程语言? – Hristo

+0

@Rims否,在文档中它没有这么说要在清单中做任何事情 – jash

回答

0

您将不得不在Android中的Manifest文件中添加此行。在其中一个应用程序中,我也实现了此One信号。

<receiver android:name="com.onesignal.UpgradeReceiver"> 
      <intent-filter> 
       <action android:name="android.intent.action.MY_PACKAGE_REPLACED" /> 
      </intent-filter> 
     </receiver> 

除此之外,你还应该添加在Android清单文件,该行。

<meta-data 
       android:name="onesignal_app_id" 
       android:value="yyyyssyshsbchdsdavbavbfjvbkfdj" /> 
      <meta-data 
       android:name="onesignal_google_project_number" 
       android:value="xxxxxxxxx" /> 

      <receiver 
       android:name="com.onesignal.GcmBroadcastReceiver" 
       android:permission="com.google.android.c2dm.permission.SEND"> 
       <intent-filter> 
        <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
        <category android:name="com.newsreader.sitl" /> 
       </intent-filter> 
      </receiver> 
      <receiver android:name="com.onesignal.NotificationOpenedReceiver" /> 

      <service android:name="com.onesignal.GcmIntentService" /> 
      <service 
       android:name="com.onesignal.SyncService" 
       android:stopWithTask="false" /> 

      <activity 
       android:name="com.onesignal.PermissionsActivity" 
       android:theme="@android:style/Theme.Translucent.NoTitleBar" /> 

      <service android:name="com.onesignal.NotificationRestoreService" /> 

      <receiver android:name="com.onesignal.BootUpReceiver"> 
       <intent-filter> 
        <action android:name="android.intent.action.BOOT_COMPLETED" /> 
        <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
       </intent-filter> 
      </receiver 

> 
    <service 
      android:name="com.newsreader.notificationHelper.NotificationExtender" 
      android:exported="false"> 
      <intent-filter> 
       <action android:name="com.onesignal.NotificationExtender" /> 
      </intent-filter> 
     </service> 
     <meta-data android:name="com.onesignal.NotificationOpened.DEFAULT" android:value="DISABLE" /> 
+0

MY_PACKAGE_REPLACED的事情,它是否需要被我的游戏包名取代? – jash

+0

没有no ..不需要替换。在android中添加了build.gradle 编译'com.onesignal:OneSignal:3。+ @ aar'中的Onesignal。 – Rims

+0

嗨@Rims,对于迟到的回复抱歉,不,我没有。我不确定那是甚么?我在哪里找到它? – jash

相关问题