昨天把Ogre3d 编译到Android 平台安装之后,再回头看代码才发现,在Android工程中居然没有Java源文件,从Manifest文件中才知道原来使用的是 NativeActivity 。这一下让我犯糊涂,没有Java文件,没有Activity,那我要接入广告或者其它的一些SDK该怎么做呢?如果我要从一个Activity再跳入游戏界面那该怎么做呢?
文章出自 QQ:790621656
Ogre3d 的 Manifest 文件内容如下: 文章出自 QQ:790621656
<?xml version="1.0" encoding="utf-8"?><!– BEGIN_INCLUDE(manifest) –><manifest xmlns:android=""package="com.example.native_activity"android:versionCode="1"android:versionName="1.0"><!– This is the platform API where NativeActivity was introduced. –><uses-sdk android:minSdkVersion="9" /><!– This .apk has no Java code itself, so set hasCode to false. –><application android:label="@string/app_name" android:hasCode="false"><!– 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"><!– Tell NativeActivity the name of or .so –><meta-data android:name="android.app.lib_name"android:value="native-activity" /><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest> <!– END_INCLUDE(manifest) –>可以看到指定了程序的入口为 NativeActivity 。文章出自 QQ:790621656
文章出自 QQ:790621656
在不得解之际,想到应该可以用一个Activity继承NativeActivity ,然后立即尝试了,果然可以。
文章出自 QQ:790621656
如下步骤:
(1) 新建一个 MyActivity 并且创建对应的 布局文件,,创建一个按钮,添加响应事件,点击按钮跳到游戏界面。
(2) 新建一个 MainActivity 继承自 NativiActivity 。
(3) 修改Manifest文件中的 NativiActivity 为 MainActivity 。
(4) 修改Manifest 中的启动Activity 为MyActivity。
工程运行结果:
点击按钮切换到游戏Activity (好吧这里就是NDK Demo的纯色界面)
文章出自 QQ:790621656
Demo下载:
文章出自 QQ:790621656
当爱丽思丢失了通往仙境的钥匙,