一、启动activtiy
AndroidManifest.xml里配置了启动activity为AppActivity
<activity android:name="org.cocos2dx.cpp.AppActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
而 AppActivity没有做任何事情,只是继承于Cocos2dxActivity,那所有的动作都交与Cocos2dxActivity处理。
二、Cocos2dxActivity OnCreate方法
按照Activity的生命周期,继续看Cocos2dxActivi

本文详细剖析了cocos2d-x在Android平台上的启动过程,从启动Activity到加载so库,再到调用nativeInit方法,最后执行具体的游戏逻辑。首先,AndroidManifest.xml指定AppActivity作为启动点,实际操作由Cocos2dxActivity处理。接着,Cocos2dxActivity的OnCreate方法加载so库。然后,通过init方法设置渲染器,并在Cocos2dxRenderer中调用nativeInit。最后,在cocos2d/cocos/platform/android/javaactivity-android.cpp中找到nativeInit的实现,执行Application的run方法,启动游戏运行。

131

被折叠的 条评论
为什么被折叠?



