2

Cocos2d IOS プロジェクトを Android APK ファイルに変換するために www.apportable.com ツール (無料版) を使用しています。コードを微調整した後、変換は成功しました。Nexus 7 でテスト済み - 動作します。Google Play にアップロードされました (APK セクションは Nexus 7 と互換性があります)。Google Play からインストールできず、次のメッセージが表示されます:

Asus Nexus 7 このアイテムはお使いのデバイスと互換性がありません。

助言がありますか?

<?xml version="1.0" encoding="utf-8"?>
<manifest android:sharedUserId="com.estoty.SpaceThimblesHD" android:versionCode="1370237775" android:versionName="1.9" android:installLocation="auto" package="com.estoty.SpaceThimblesHD"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-gl-texture android:name="GL_IMG_texture_compression_pvrtc" />
    <uses-permission android:name="android.permission.INTERNET" />
    <supports-screens android:smallScreens="false" android:normalScreens="true" android:largeScreens="true" android:resizeable="true" />
    <application android:theme="@style/FullScreenActivity" android:label="@string/app_name" android:icon="@drawable/icon" android:name="com.apportable.app.VerdeApplication" android:hasCode="true" android:debuggable="false" android:hardwareAccelerated="true" android:largeHeap="false">
        <meta-data android:name="android.app.libs" android:value="v cxx System objc ffi pthread_workqueue dispatch Foundation BridgeKit OpenAL verde" />
        <meta-data android:name="android.app.lib_name" android:value="verde" />
        <meta-data android:name="android.app_name" android:value="Space Cups HD" />       
        <meta-data android:name="apportable.splash_screen_type" android:value="letterbox" />
        <meta-data android:name="apportable.orientation" android:value="landscape" />
        <meta-data android:name="apportable.opengles.fast_color" android:value="true" />
        <activity android:label="@string/app_name" android:name="com.apportable.activity.VerdeActivity" android:launchMode="singleTask" android:screenOrientation="landscape" android:configChanges="locale|mcc|mnc|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale" android:windowSoftInputMode="adjustPan">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service android:name="com.apportable.iap.BillingService" />
        <receiver android:name="com.apportable.iap.BillingReceiver">
            <intent-filter>
                <action android:name="com.android.vending.billing.IN_APP_NOTIFY" />
                <action android:name="com.android.vending.billing.RESPONSE_CODE" />
                <action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED" />
            </intent-filter>
        </receiver>
    </application>
</manifest>
4

1 に答える 1

2

この問題は、次の行によって発生します。

    <supports-gl-texture android:name="GL_IMG_texture_compression_pvrtc" />

これは、最近ソフトウェア pvr サポートを追加した際の SDK のリグレッションが原因です。これは、次の SDK リビジョンで修正される予定です。

それまでの間、次のように .apportable/SDK/site_scons/android/mainifest.py を編集することで、正しい AndroidManifest.xml を構築できます。

    diff --git a/site_scons/android/manifest.py b/site_scons/android/manifest.py
index 7b87747..2731546 100644
--- a/site_scons/android/manifest.py
+++ b/site_scons/android/manifest.py
@@ -68,9 +68,7 @@ def GenerateManifest(env, target):
     manifest += '          android:versionCode="' + Option(env, 'VERSION_CODE') + '"\n'
     manifest += '          android:versionName="' + Option(env, 'SHORT_VERSION') + '">\n'

-    if env['TARGET_TEXTURE_FMT'] == 'pvr':
-        manifest += '    <supports-gl-texture android:name="GL_IMG_texture_compression_pvrtc" />\n'
-    elif env['TARGET_TEXTURE_FMT'] == 'atc':
+    if env['TARGET_TEXTURE_FMT'] == 'atc':
         manifest += '    <supports-gl-texture android:name="GL_AMD_compressed_ATC_texture" />\n'
     elif env['TARGET_TEXTURE_FMT'] == 's3tc':
         manifest += '    <supports-gl-texture android:name="GL_EXT_texture_compression_s3tc" />\n'

次に、アプリを再構築して AndroidManifest.xml を再生成します

于 2013-06-03T18:01:07.143 に答える