我正在尝试在Unity游戏中使用Parse来实现高分。我的问题是,当我尝试将游戏放在我的Android设备上进行测试时,应用程序的名称会有所不同。它出现了“ParseUnityPushSample”,即使除了添加Parse让我使用它的文件之外我没有改变任何东西。构建设置没有改变,它甚至显示我的包名称是相同的,但在设备上测试它有这个结果。
在Unity 5中测试它可以正常工作。游戏加载应该。这只有在我尝试将其放在设备上进行测试时才会发生。
随着它更改应用名称,它在打开时也会崩溃。当我尝试在Android设备上打开它时,我得到一个提示“ParseUnityPushSample”失败。
编辑:
好的,所以我找到了一种方法来查看在设备上进行测试时发生的一些错误。我收到此错误:“无法在清单中找到统一活动。您需要确保将orientation属性设置为sensorLandscape手动。 UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()“我不知道问题是什么,因为我在Android Manifest中手动设置了activityLandscape的活动方向。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.laserdeflector.sab" android:versionName="1.0.1" android:versionCode="1" android:installLocation="preferExternal">
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="22" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:protectionLevel="signature" android:name="com.laserdeflector.sab.permission.C2D_MESSAGE" />
<uses-permission android:name="com.laserdeflector.sab.permission.C2D_MESSAGE" />
<uses-permission android:name="com.android.vending.BILLING" />
<application android:label="Laser Deflector" android:icon="@drawable/app_icon" android:screenOrientation="sensorLandscape" android:name="com.soomla.SoomlaApp" android:debuggable="false" android:isGame="true">
<activity android:name=".UnityPlayerActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.parse.ParsePushBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.laserdeflector.sab" />
</intent-filter>
</receiver>
<service android:name="com.parse.ParsePushService" />
<activity android:name="com.soomla.store.billing.google.GooglePlayIabService$IabActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<meta-data android:name="billing.service" android:value="google.GooglePlayIabService" />
</application>
<uses-feature android:glEsVersion="0x00020000" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
</manifest>
15年8月10日
我已经知道这可能是Parse v1.5.2的一个问题,尽管改为v1.3.2对我所面临的问题没有帮助。我会在得到更多信息后立即更新。
15年8月11日
更新到v1.5.4也没有解决问题。仍然有Android清单的问题与相同的错误消息。如果有人有任何想法,请告诉我!
答案 0 :(得分:3)
就我而言,仅仅使用Unity sdk并不是答案。为了使它工作,我不得不使用Unity空白项目中的内容,然后我还删除了sdk中包含的v1.5.2的android清单。执行这两项操作后,该应用程序可以在我的Android设备上正常运行。
答案 1 :(得分:2)
问题出在您的清单文件中,您已更改以下行
<receiver android:name="com.parse.ParsePushBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<service android:name="com.parse.ParsePushService" />
到这个
<receiver android:name="com.laserdeflector.PushBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<service android:name="com.laserdeflector.ParsePushService" />
这是正确的清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.laserdeflector.sab"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:protectionLevel="signature" android:name="com.laserdeflector.sab.permission.C2D_MESSAGE" />
<uses-permission android:name="com.laserdeflector.sab.permission.C2D_MESSAGE" />
<application android:label="LaserDeflector" android:icon="@drawable/app_icon">
<activity android:name=".UnityPlayerActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.parse.ParsePushBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.laserdeflector.sab" />
</intent-filter>
</receiver>
<service android:name="com.parse.ParsePushService" />
</application>
</manifest>