質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
COCOS2D-X

COCOS2D-Xは、 2Dゲームを手軽に開発できるフレームワークのことです。 iPhone(iOS)向け、Android等に対応しており、 実質ワンソースで開発が可能です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

3回答

3115閲覧

cocos2d-x androidのコンパイルは成功するが、起動するとエラーになってしまう。

fNaoyuki

総合スコア20

COCOS2D-X

COCOS2D-Xは、 2Dゲームを手軽に開発できるフレームワークのことです。 iPhone(iOS)向け、Android等に対応しており、 実質ワンソースで開発が可能です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

1クリップ

投稿2016/02/14 08:29

編集2022/01/12 10:55

cocos2d-xでゲームを作っています。
タイトル画面⇒ゲーム画面と遷移させるために「TitleScene.cpp」「TitleScene.h」を追加しました。
最初に起動する「AppDelegate.cpp」から「Title::createScene()」を実行するとWin32アプリケーションとしては、正しく動作しますが、android向けにコンパイルしてandroid端末で起動するとエラーとなり強制終了してしまいます。
※android向けのコンパイルには成功しています。

「ファイルを追加したこと」or「Title::createScene()」を中心にネットで情報を調べたのですが、エラーが解消しません。
※ファイルを追加する前にHelloWorldScene::createScene()を行ったときはうまくいきました。
情報をお持ちの方がいましたら、教えていただけないでしょうか?
また、ほかの調査すべきポイントなどあれば教えていただきたいです。

【androidコンパイルコマンド】
cd /d C:\projects\MyGame\proj.android
cocos compile -p android --android-studio
※C:\projects\MyGame\proj.android-studio\app\jni\Android.mk
を修正してコンパイルが成功するようにしました。

【Win32成功画面】
イメージ説明

【コンパイルコマンド成功】
イメージ説明

【Android.mk修正箇所】
イメージ説明

【エラー画面】
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hato_pato

2016/02/15 08:47

どんなエラーとなるのか、エラーメッセージを掲載すると 回答しやすいと思います。
hato_pato

2016/02/16 01:04

USBつないでエラーログは出ていませんか? そちらを参照すれば解決につながると思います。
guest

回答3

0

Title::createScene()の後にbool Title::init()が呼び出されるのですが、そこにreturnを記載していませんでした。bool Title::init()にreturnを記載することで正常に動作しました。

Win32アプリケーションでは、returnがなくてもエラーにはならず実行可能。
androidでは、returnがないとエラーになってしまう。

投稿2016/05/15 08:14

fNaoyuki

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

cd /d C:\projects\MyGame\proj.android
cocos compile -p android --android-studio

の部分、1行目の\proj.android を消すか、
2行目の--android-studioを消すかして、
cocos run -p androidして見ましょう。

投稿2016/03/02 13:47

BON_twitting

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fNaoyuki

2016/03/04 14:07

cd /d C:\projects\MyGame cocos compile -p android --android-studio を実行しましたが、同じ結果になってしまいました。
guest

0

まずはlogcatの出力を確認してみてはいかがでしょうか?
おそらく何かExceptionが出ていると思われます。

Android Sudio から以下の手順で起動できるはずです。
Tools > Android > Android Device Monitor
http://developer.android.com/intl/ja/tools/help/monitor.html

ご質問内容ではsqlite3について触れられていないようですが、
Android.mkにsqlite3.cが記載されているようです。
おそらくご質問内容の他にも変更が加えられているのではないかと思います。

自動生成されたコードに少しずつ処理を追加しながら、
どの変更を加えると現象が発生するのか、
原因を切り分けられると良いかと思います。

GitやSubversionなどでコード管理をしながら変更すると安全です。

投稿2016/02/26 04:23

ganessa

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fNaoyuki

2016/03/04 14:18

起動直後に以下に入ってしまい「ClassNotFoundException 」が発生しているようでした。※Android Device Monitorはまだ使いこなすことができなかったので、デバッグしてみました。 public Activity newActivity(ClassLoader cl, String className, Intent intent) throws InstantiationException, IllegalAccessException, ClassNotFoundException { return (Activity)cl.loadClass(className).newInstance(); }
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問