Android应用程序无法在Nexus 7上启动(显示黑屏)



我正在使用Gameplay3D编写Android应用程序。我可以用NDK编译好,用ANT生成APK(调试和发布)。这款应用在Galaxy S3和Nexus 4上安装、启动和运行都很完美,但当我试图在Nexus 7上启动它时,它什么也显示不出来。只有一个底部有导航条的黑屏。

我有两部Nexus 7,每一部都安装了不同版本的安卓系统(一个是4.3,另一个是4.4)。

我不是很有Android开发经验,但以下是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.secretCompany.secretGame"
        android:versionCode="15"
        android:versionName="1.0.0">
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- This is the platform API where the app was introduced. -->
    <uses-sdk android:minSdkVersion="10" />
    <uses-feature android:glEsVersion="0x00020000"/>
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:hasCode="true">
        <!-- Our activity is the built-in NativeActivity framework class.
             This will take care of integrating with our NDK code. -->
        <activity android:name="android.app.NativeActivity"
                android:label="@string/app_name"
                android:configChanges="orientation|keyboardHidden"
                android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                android:screenOrientation="landscape">
            <!-- Tell NativeActivity the name of or .so -->
            <meta-data android:name="android.app.lib_name"
                    android:value="secretGame" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest> 

我已经改变了游戏的名称和公司,因为它们目前是一个秘密,但除此之外,这正是它在文件中出现的方式。

任何帮助都将是非常感激的:)

附加信息:

应用程序所做的唯一事情就是渲染精灵并接受输入。没有声音,没有网络,什么都没有。

Nexuses (Nexi?:P)是2012年的版本,不是2013年的新版本。

我使用渲染到纹理。这有问题吗?也许使用非2次幂纹理?

我测试了,代码还在运行,我只是看不到任何东西。

终于,我自己从这篇文章中弄明白了。问题是,几乎我所有的纹理都不是2的幂次,而那些是在屏幕上。

愚蠢的我。

编辑:或者不是…现在它不会显示任何东西,甚至不显示以前的2次方的纹理…OpenGL FBO是否必须具有方形纹理才能在2次方设备上工作?

编辑2:啊,好吧,我终于找到问题了。我最初是正确的,精灵没有2次幂纹理,但后来我重新启用了渲染到纹理,它停止工作了。原来问题是,我渲染到一个不同的FBO,然后提取纹理,把它变成一个精灵,渲染到主要的FBO…当然,纹理也不是2的幂。我只是在最小的PO2尺寸下创建纹理,这样整个屏幕仍然可以容纳,然后修改全屏精灵的UV线,这样额外的纹理部分就会被移出屏幕。问题解决了!

相关内容

  • 没有找到相关文章

最新更新