C/C++を用いてHello World!を表示させるアプリを作成したい。

425 views
Skip to first unread message

takemura

unread,
Aug 13, 2015, 4:32:32 AM8/13/15
to 日本Androidの会
現在、Android Studioを用いてアプリ作成の勉強をしているのですが、C/C++言語を用いたHello World!を表示させるアプリを作成したいと思っています。
Java言語の方は参考書を見ながらできました。C/C++言語でのアプリ開発の手順を教えてください。

こちらの環境は
・Windows7
・Android Studio 1.3.1
・Android SDK Tools 24.3.3

shinriyo

unread,
Aug 13, 2015, 5:07:35 AM8/13/15
to 日本Androidの会
こんにちは
NDKを使えばできます。
EclipseですがおそらくAndroid Studioでも手順は変わらないと思います。

2015年8月13日木曜日 17時32分32秒 UTC+9 takemura:

Hiroaki GOTO as GORRY

unread,
Aug 13, 2015, 5:43:58 AM8/13/15
to android-g...@googlegroups.com

後藤 浩昭(GORRY)です。
この方法だと、「C++で"Hello world"を表示する」のではなくて、
「C++層で生成した"Hello world"という文字列を貰ってJava層で表示する」
ことになりますね。

--

Androidの標準GUIはJava層から扱うことを想定しており、C++層からは
直接扱えません。「C++層で表示させる」ことを主体と考えるとすると、
以下のいずれかを使うことになります。

1. JNIでJava層のGUIを呼び出す。
2. OpenGL ESで直接描画する。
3. ログコンソール(adb)へ出力してそれを見る。

1.は、実質的に「C++層で表示しているのではない」ので省略します。
2.は、後述します。
3.は最も簡単で、NativeActivityプロジェクトを作成し
ANativeActivity_onCreate()に以下を適切に書くだけで
済みます。
__android_log_write(ANDROID_LOG_DEBUG,"test","Hello world");

これはJavaでいうと「ActivityクラスのonCreate()メソッドに
『Log.d("test","Hello world");』を書く」ことに相当します。

幸い、先人が何人もいます。
まずは「AndroidStudio NativeActivity」でググるとよいかと思います。

--

「アプリとして端末画面上に表示されるHello worldを見たい」のであれば、
OpenGL ESの学習が必要となります。
NDKをインストールすると、samplesフォルダにいくつかサンプルが
入っています。その中に「hello-gl2」という、まさにそのものが
あります。"Hello world"という文字列ではなく、三角形が1つ
表示されるだけのものですが。




In message <b149742e-a08d-4580...@googlegroups.com>
"[android-group-japan: 29017] Re: C/C++を用いてHello World!を表示させるアプリを作成したい。"
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。



--
Hiroaki GOTO as "GORRY" : 後藤 浩昭
EMAIL: gorr...@gmail.com

unsolublesugar 星影

unread,
Aug 14, 2015, 3:27:12 AM8/14/15
to 日本Androidの会
星影です。

「実装部分をC++で書く」という意味であれば、Cocos2d-xというフレームワークを使う手段があります。

具体的な開発手順については書籍がいくつか出ていますので、そちらを参考にすると良いでしょう。
書籍では主にEclipseやXcode(Mac環境)を用いた開発手法が紹介されていますが、Android Studioでのビルド方法もググれば出てきます。

Cocos2d-xはクロスプラットフォームに対応しているため、Android以外のOS向けアプリも作成できるというメリットがあります。
ご参考までに。

2015年8月13日木曜日 17時32分32秒 UTC+9 takemura:
Reply all
Reply to author
Forward
0 new messages