Cocos2d-x v3.x tutorial を試す (1)

Cocos2d-x v3.x … そろそろマジ勉強したい…
とりあえず今月は Youtube動画を見る

Cocos2d-x v3 C++ Tutorial 1 – Setting Up For iOS
https://www.youtube.com/watch?v=qXqgSNUf9Cc

… とりあえず cocosコマンドでプロジェクトを作るところまでは [とりあえず] OK ^^;
cocosコマンドは cocosを解凍したフォルダでね。

 

Cocos2d-x v3 C++ Tutorial 2 – Setting Up For Android On Mac
https://www.youtube.com/watch?v=2LI1IrRp_0w

… Android か… とりあえず Android NDK も入れてあるので試してみる ^^;
… このtutorialのやり方ではダメだった… orz

有識者に教わった方法は、
1.プロジェクトを作成(例:デスクトップに作成)
cocos new sample -p jp.co.tko.sample -l cpp -d /Users/xxx/Desktop

2. 作成したプロジェクトの proj.android フォルダをターミナルで開き ./build_native.py を実行

3. コンパイルを待つ間に cocos2d-xライブラリフォルダから以下のフォルダにある libフォルダをコピー
/Applications/cocos2d-x-3.2/cocos/platform/android/java/src/org/cocos2dx/

4. 作成したいかのフォルダにペースト
/Users/xxx/Desktop/sample/proj.android/src/org/cocos2dx/lib

5. Eclipseでプロジェクトをインポート

6. インポートしたプロジェクトを右クリックしてプロパティを表示。
Resource – Android を選択し、Library にある ../cocos2d/cocos/platform/android/java を削除

7. 実機に転送 … ^^

…でイケルはずが大ハマり…orz

実機でエラーで落ちるという…LogCatに出てるエラーログでググること1時間…

java.lang.UnsatisfiedLinkError: Native method not found: org.cocos2dx.lib.Cocos2dxHelper.nativeSetApkPath:(Ljava/lang/String;)V

http://discuss.cocos2d-x.org/t/java-lang-unsatisfiedlinkerror-nativesetapkpath-version-3-1-1/14726

何が悪いのかがよくわからないが、AndroidManifest.xmlがまずかったみたいです…

        <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">

            <!-- Tell NativeActivity the name of our .so -->
            <meta-data android:name="android.app.lib_name"
                       android:value="cocos2dcpp" />

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

の cocos2dcpp.so ファイルのところがダメみたいで、以下のように修正(activityの入れ子から出す感じ)

        <!-- Tell NativeActivity the name of our .so -->
        <meta-data android:name="android.app.lib_name"
                   android:value="cocos2dcpp" />

        <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">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です