2017-06-01 66 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

相關問題