2

我使用 www.apportable.com 工具(免费版)将我的 Cocos2d IOS 项目转换为 Android APK 文件。在代码稍作调整后转换成功。在我的 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 回答