昨天把Ogre3d 编译到Android 平台安装之后,再回头看代码才发现,在Android工程中居然没有Java源文件,从Manifest文件中才知道原来使用的是 NativeActivity 。这一下让我犯糊涂,没有Java文件,没有Activity,那我要接入广告或者其它的一些SDK该怎么做呢?如果我要从一个Activity再跳入游戏界面那该怎么做呢?
文章出自 http://blog.csdn.net/huutu QQ:790621656
Ogre3d 的 Manifest 文件内容如下:
文章出自 http://blog.csdn.net/huutu QQ:790621656
<?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/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) -->
文章出自 http://blog.csdn.net/huutu QQ:790621656
在不得解之际,想到应该可以用一个Activity继承NativeActivity ,然后立即尝试了,果然可以。
文章出自 http://blog.csdn.net/huutu QQ:790621656
如下步骤:
(1) 新建一个 MyActivity 并且创建对应的 布局文件,创建一个按钮,添加响应事件,点击按钮跳到游戏界面。
(2) 新建一个 MainActivity 继承自 NativiActivity 。
(3) 修改Manifest文件中的 NativiActivity 为 MainActivity 。
(4) 修改Manifest 中的启动Activity 为MyActivity。
工程运行结果:
点击按钮切换到游戏Activity (好吧这里就是NDK Demo的纯色界面)
文章出自 http://blog.csdn.net/huutu QQ:790621656
Demo下载:
http://download.csdn.net/detail/cp790621656/8542371文章出自 http://blog.csdn.net/huutu QQ:790621656
Ogre3d 之使用 Android NativeActivity
原文地址:http://blog.csdn.net/huutu/article/details/44703229