2015-07-29 2 views
0

Я разрабатываю приложение для iOS и Android, для этого приложения я использую ANE из дистрибутива, и они говорят, что они работают для обеих платформ. В iOS эти ANE работают, но когда я развиваюсь в Android, я получаю ошибку: ваш ключ не смог быть проверен для com.distriqt.Notifications родного расширения, но ключ работает для NetworkInfo ANE.Distriqt ANE ключ не может быть проверен на Android

Если у вас была похожая ситуация с этими ANE, не могли бы вы помочь мне атаковать эту проблему?

спасибо.

PD: Мой дескриптор для android, где я объявляю расширения, приведен ниже.

<extensions> 
     <extensionID>com.milkmangames.extensions.GoViral</extensionID> 
     <extensionID>com.distriqt.NetworkInfo</extensionID> 
     <extensionID>com.distriqt.InAppBilling</extensionID> 
     <extensionID>com.distriqt.Application</extensionID> 
     <extensionID>com.distriqt.Notifications</extensionID> 
     <extensionID>com.distriqt.PushNotifications</extensionID> 
     <extensionID>com.distriqt.Core</extensionID> 
    </extensions> 

    <android> 
    <manifestAdditions><![CDATA[ 
     <manifest android:installLocation="auto" > 
      <!--<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"/>--> 
      <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19" /> 

      <uses-permission android:name="android.permission.INTERNET"/> 
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
      <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
      <uses-permission android:name="android.permission.VIBRATE"/> 
      <uses-permission android:name="android.permission.WAKE_LOCK" /> 
      <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
      <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

      <!-- Only this application can receive the messages and registration result --> 
      <permission android:name="com.4starscasino.4StarsCasino.C2D_MESSAGE" android:protectionLevel="signature" /> 
      <uses-permission android:name="com.4starscasino.4StarsCasino.permission.C2D_MESSAGE" /> 

      <uses-permission android:name="com.android.vending.BILLING" /> 

      <application> 
       <receiver android:name="com.distriqt.extension.notifications.NotificationsReceiver"> 
        <intent-filter> 
         <action android:name="com.4starscasino.4StarsCasino.NOTIFICATION" /> 
         <action android:name="com.4starscasino.4StarsCasino.DELAYED_NOTIFICATION" /> 
        </intent-filter> 
       </receiver> 
       <receiver android:enabled="true" android:exported="true" android:name="com.distriqt.extension.pushnotifications.PushNotificationsBroadcastReceiver" 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.4starscasino.4StarsCasino" /> 
        </intent-filter> 
       </receiver> 
       <service android:enabled="true" android:exported="true" android:name="com.distriqt.extension.pushnotifications.gcm.GCMIntentService" /> 
       <receiver android:name="com.distriqt.extension.pushnotifications.PushNotificationsReceiver"> 
        <intent-filter> 
         <action android:name="com.4starscasino.4StarsCasino.PUSHNOTIFICATION_SELECTED" /> 
         <data android:scheme="dtpn" /> 
        </intent-filter> 
       </receiver> 
       <receiver android:enabled="true" android:name="com.distriqt.extension.application.receivers.ApplicationStartupReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> 
        <intent-filter> 
         <action android:name="android.intent.action.BOOT_COMPLETED" /> 
         <category android:name="android.intent.category.DEFAULT" /> 
        </intent-filter> 
       </receiver> 
       <activity android:launchMode="standard"> 
        <intent-filter> 
        <action android:name="android.intent.action.MAIN"/> 
        <category android:name="android.intent.category.LAUNCHER"/> 
        </intent-filter> 
       </activity> 
       <activity android:name="com.facebook.LoginActivity" 
         android:theme="@android:style/Theme.Translucent.NoTitleBar" 
         android:label="Login" /> 

         <!-- replace 000000000000000 with your numeric Facebook Application ID --> 
         <provider android:authorities="com.facebook.app.NativeAppCallContentProvider634656129942853" android:name="com.facebook.NativeAppCallContentProvider" /> 

         <!-- replace 000000000000000 with your numeric Facebook Application ID, and com.yourcompany.example with your apks application ID --> 
         <meta-data android:name="com.4starscasino.4StarsCasino" android:value="634656129942853"/> 
       <activity android:name="com.distriqt.extension.inappbilling.activities.PurchaseActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"></activity> 
      </application> 

     </manifest> 

     ]]></manifestAdditions> 

    <!-- Color depth for the app (either "32bit" or "16bit"). Optional. Default 16bit before namespace 3.0, 32bit after --> 
    <!--<colorDepth></colorDepth>--> 
    <!-- Indicates if the app contains video or not. Necessary for ordering of video planes with graphics plane, especially in Jellybean - if you app does video this must be set to true - valid values are true or false --> 
    <!-- <containsVideo></containsVideo> --> 
</android> 

ответ

0

Проблема будет с идентификатором приложения, так как это не является допустимым именем пакета Java, AIR преобразует его в действительный один при создании APK приложения. Однако это вызовет проблемы с вашими манифестными дополнениями и проверкой ключа.

В основном, запуск имени пакета с номером или использование дефиса недействительны на Java. Вы должны либо изменить свой идентификатор приложения, чтобы что-то вроде:

com.fourstarscasino.fourStarsCasino 

Или же вы должны будете определить фактическое имя Android пакета и использовать его вместо. Это, вероятно, что-то вроде:

com.A4starscasino.A4StarsCasino 

Вы должны распаковать APK и проверить AndroidManifest.xml фактическое имя Android пакета.