Kotlinで始めるAndroidアプリ制作の基本:Windowsユーザーでも掴める「世界標準」の技術と副業のチャンス

目次

「自分のスマホで、自分が書いたコードが動いている」

初めてAndroidアプリをビルドして、手元のPixelに転送し、画面が表示された瞬間のことは今でも鮮明に覚えています。
当時はまだKotlinなんて洒落たものはなく、Javaで書いていました。Eclipseという重たい開発環境と格闘し、xmlファイルのエラーに悩み、NullPointerException(通称:ぬるぽ)でアプリが落ちるたびに枕を濡らしていました。

それでも、「Hello World」と表示されただけのアプリが、自分の指の動きに合わせて反応する感覚。
Webサイトをブラウザで見るのとは違う、物理的なデバイスを支配しているような全能感。
これが、私が10年以上モバイルアプリ開発の世界に居続けている理由です。

今、時代は変わりました。
言語はモダンで美しい「Kotlin」になり、UIは「Jetpack Compose」で直感的に書けるようになり、開発環境の「Android Studio」は(相変わらず重いけど)劇的に賢くなりました。

「iPhoneユーザーだからAndroidはちょっと…」
「Macを持ってないからアプリ開発は無理」

もしそんな理由で躊躇しているなら、あまりにも勿体ない。
Androidの世界シェアは依然として7割近くあります。つまり、Androidアプリを作れるということは、世界の7割の人間にアプローチできる武器を手に入れるということです。
そして何より、WindowsのPCがあれば今すぐ無料で始められる。これが最大のメリットです。

長年現場でAndroid開発に関わり、数多くの初心者をメンタリングしてきた私が、Kotlinを使ったAndroidアプリ制作の基本から、副業として稼ぐためのリアルな戦略まで、教科書には載っていない「現場の泥臭い話」を交えて解説します。

自宅のデスクでAndroid端末を手に持ち、PC画面と見比べて初めてのビルド成功に喜ぶ30代男性の線画イラスト

なぜ今、あえて「Android × Kotlin」なのか

プログラミングスクールの広告を見ると、やれ「Web制作」だ「iOSアプリ」だという文字が踊っています。
そんな中で、なぜ私がAndroid開発、それもKotlinをおすすめするのか。
そこには、エンジニアとしての「生存戦略」と「実利」があります。

1. Windowsユーザーの特権

iOSアプリを作るにはMacが必須です。これはAppleが決めた絶対のルール。
でも、AndroidアプリはWindowsでもMacでもLinuxでも作れます。
日本はiPhone大国ですが、エンジニアを目指す人の多くは、高性能なWindowsのゲーミングPCや、コスパの良いWindowsノートを持っていたりしますよね。
手持ちの機材で、追加投資ゼロで「スマホアプリ開発」という高単価なスキルセットに挑戦できる。これは巨大なアドバンテージです。

2. Javaとの決別、Kotlinの革命

昔のAndroid開発はJavaでした。Javaは素晴らしい言語ですが、記述が冗長で、ボイラープレート(お決まりのコード)が多すぎました。
2017年にGoogleがKotlinを公式言語に採用してから、世界は一変しました。
Kotlinは、Javaの堅牢さを持ちながら、PythonやSwiftのような書きやすさを兼ね備えています。
「安全」で「簡潔」。
コードを書く量が減れば、バグも減る。エンジニアのストレスも減る。
今からAndroid開発を始めるなら、Kotlin一択です。Javaの案件もまだ残っていますが、それはベテランに任せておけばいいんです。

3. 意外と穴場な「Android副業」市場

「アプリ開発=iOS」というイメージが強すぎるせいか、駆け出しエンジニアはiOSに流れがちです。
結果、何が起きているかというと、「Androidエンジニアが足りない」という現象です。
現場では「iOS版はできたけど、Android版を担当できる人がいなくてリリースが遅れる」なんて話がザラにあります。
需要に対して供給が追いついていない。つまり、案件が取りやすく、単価も安定しているということです。


開発環境構築:最初の試練「Android Studio」との戦い

よし、やろう!と決意したあなたを最初に待ち受けているのが、開発環境の構築です。
ここで挫折する人が3割くらいいます(笑)。
脅すわけじゃありませんが、リアルな壁を知っておいてほしいんです。

マシンスペックの壁

Android開発の統合開発環境(IDE)である「Android Studio」。
これはGoogleが提供する無料ツールですが、とにかく重いです。メモリを食います。
Chromeのタブを50個開きながら動画編集ソフトを立ち上げているようなものです。

私の推奨スペックはこれです。

  • メモリ: 16GB以上(8GBだとエミュレータを起動した瞬間にPCがフリーズします)
  • CPU: Core i5 / Ryzen 5 以上のミドルレンジ以上
  • ストレージ: SSD 512GB以上(ビルド生成物で容量がガリガリ削られます)

「メモリ8GBの古いノートPCしかないんですが…」という相談をよく受けますが、正直に言います。買い替えるか、メモリを増設してください。
開発環境の遅さは、学習意欲を削ぐ最大の敵です。ボタンを押してから反応するまでに1分かかっていたら、プログラミングなんて嫌いになります。

インストールの罠

Android Studioのインストール自体は、公式サイトからインストーラーをダウンロードして「Next」を連打するだけです。
しかし、インストール後に「SDK(Software Development Kit)」の設定や「エミュレータ(仮想スマホ)」の作成が必要です。

ここでよくあるトラブルが:

  • Intel HAXM / AMD Hypervisor の設定エラー:PCのBIOS設定を触らないといけない場合があり、初心者がパニックになるポイント。
  • パスに日本語が含まれている:ユーザー名が「田中 太郎」みたいに日本語だと、ビルドツールが誤作動を起こすことがあります。開発用PCのユーザー名は半角英数にしておくのが鉄則です。

私も昔、新しいPCを買ってウキウキでセットアップしたのに、謎のエラーで半日潰したことがあります。
「環境構築はエラーが出るもの」と割り切って、出たエラーメッセージをそのままGoogle検索に放り込む力をつけましょう。

深夜、PC画面に表示された謎のエラーメッセージを見て頭を抱える30代男性の線画イラスト

Kotlinの基礎:初心者が必ず躓く「Null安全」の話

環境構築が終わったら、いよいよKotlinの学習です。
変数の宣言やループ処理などは他の言語と似ていますが、Kotlinには最大の特徴にして最大の難所があります。
それが「Null Safety(ヌルセーフティ)」です。

「ぬるぽ」との決別

プログラミングの世界には null(何もない)という概念があります。
Javaなどの古い言語では、この null が入っている変数を使おうとすると、実行時に NullPointerException(通称:ぬるぽ)というエラーでアプリが突然クラッシュします。
これがバグの原因No.1でした。

Kotlinは、言語仕様レベルでこれを防ぎに来ました。
基本的に、変数には null を入れられません。

var name: String = "Android"
// name = null  // ← これはコンパイルエラーになります!アプリを動かす前に教えてくれる優しさ。

もし null を入れたい場合は、型の後ろに ? をつけて「これはnullかもしれないよ」と宣言する必要があります。

var name: String? = "Android"
name = null // これならOK

?!! の使い分け

初心者がハマるのはここです。
? がついた変数(Nullableな変数)は、そのままでは長さ取得などの操作ができません。「中身が空っぽかもしれないのに操作するな!」と怒られるわけです。

そこで登場するのが ?.(セーフコール)です。

val length = name?.length

これは「もし namenull じゃなかったら長さを返してね。null だったら null を返してね」という意味。これでアプリは落ちません。

一方で、初心者がやりがちなのが !!(非Nullアサーション)です。

val length = name!!.length

これは「私を信じろ!ここには絶対 null なんて入ってないから強制的に実行しろ!」という命令です。
でも、もし万が一そこで null が入っていたら?
…はい、アプリは即死します。

現場では、この !! を使うとコードレビューで先輩から激詰めされます。「お前、その変数に命賭けられるの?」と。
Kotlinを学ぶときは、この「Nullとの付き合い方」を体に叩き込んでください。ここさえ乗り越えれば、あとは楽園です。


画面作成の革命「Jetpack Compose」

以前のAndroid開発では、画面のデザインは「XML」というタグ形式のファイルで記述し、ロジックをKotlin(またはJava)で書くという分離方式でした。
これがまあ、面倒くさい。

 自宅のリビングやカフェ。スマホでSNS(Xなど)の画面を開いている。

現在は「Jetpack Compose」という新しいUIツールキットが主流になりつつあります。
これは、すべてKotlinのコードだけで画面を作れるというものです。

コードでUIを書くということ

例えば、「挨拶するテキスト」を表示したい場合、これだけで済みます。

@Composable
fun Greeting(name: String) {
    Text(text = "Hello $name!")
}

直感的ですよね?
FlutterやReact Native、SwiftUIと同じ「宣言的UI」というトレンドです。
部品(コンポーネント)を作って、それを組み合わせて画面を作る。
状態(データ)が変われば、UIが勝手に再描画される。

これを覚えると、XML時代の手続き的なUI操作(findViewById とか…古参エンジニアには懐かしい呪文です)には戻れません。
これから学ぶなら、迷わずJetpack Composeから入ってください。
古い教材だとXMLでの解説が多いので注意が必要です。「Compose対応」と書かれた教材を選びましょう。

最新の技術書を片手に、モニターに映るシンプルなコードを見て納得の表情を浮かべる男性の線画イラスト

実践:初めてのアプリを作ってみる

理屈ばかりでも眠くなるので、実際にアプリを作る流れを追ってみましょう。
目指すのは「ボタンを押したら回数がカウントアップされるアプリ」です。通称「カウンターアプリ」。
地味ですが、ここにはAndroid開発のすべてが詰まっています。

1. プロジェクト作成

Android Studioで「New Project」を選び、「Empty Activity」を選択します。
ここで注意!言語は「Kotlin」、ビルド構成言語は「Kotlin DSL」を選びましょう。モダンな構成にします。

2. UIを作る(Compose)

MainActivity.kt を開くと、すでにテンプレートコードが書かれています。
これを書き換えていきます。

@Composable
fun CounterApp() {
    // 状態を保持する変数
    var count by remember { mutableStateOf(0) }

    Column(
        modifier = Modifier.fillMaxSize(),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        Text(
            text = "カウント: $count",
            fontSize = 30.sp
        )
        Spacer(modifier = Modifier.height(16.dp))
        Button(onClick = { count++ }) {
            Text(text = "増やす")
        }
    }
}

たったこれだけです。
var count が状態を持ち、ボタンが押されると count++ で数字が増え、自動的に Text の表示が更新されます。
魔法のようですが、これがComposeの力です。

3. 実行(ビルド)

再生ボタン(▷)を押します。
PCのファンが唸りを上げ、Android Studioの下部でGradleというビルドツールが走り出します。
最初のビルドは時間がかかります。コーヒーでも淹れて待ちましょう。

やがてエミュレータが起動し、あなたのアプリが表示されます。
ボタンを押す。数字が増える。
この瞬間です。この「動いた!」という快感のために、私らはエンジニアをやっているんです。


副業案件獲得のロードマップ:0から稼ぐまで

「Hello World」は卒業しました。では、どうやってこれをお金に変えるのか。
Android開発の副業事情は、Web制作とは少し違います。

案件の種類と相場

  1. 既存アプリの改修・機能追加
    • 単価:時給3,000円~5,000円
    • 内容:「画面のデザインを変えてほしい」「新しいAPIと連携してほしい」「バグを直してほしい」。
    • 一番多い案件です。Javaで作られた古いアプリをKotlinに書き換える(リプレイス)案件も熱いです。
  2. 新規アプリ開発(小規模)
    • 単価:30万~100万円
    • 内容:店舗の予約アプリ、社内管理ツールなど。
    • 要件定義からリリースまで丸ごと請け負うパターン。責任は重いですが、実績になります。
  3. テスト・デバッグ
    • 単価:時給1,500円~2,500円
    • 内容:開発中のアプリをひたすら触ってバグを探す。
    • 初心者におすすめ。実際のコードは見れませんが、開発の現場感を知れます。

ポートフォリオは「Google Play」一択

Web制作ならポートフォリオサイトを作ればいいですが、アプリ開発者は違います。
「Google Playストアに自作アプリを公開しているか」。これに尽きます。

どんなに簡単なツールアプリでもいいんです。「電卓」でも「TODOリスト」でも。
ストアに公開するには、リリースビルドを作り、スクリーンショットを用意し、説明文を書き、審査を通す必要があります。
この一連のプロセスを経験しているかどうかが、採用担当者が見るポイントです。

「Githubにコードあります」も良いですが、非エンジニアのクライアントには伝わりません。
「ストアのこのURLからダウンロードできます」と言える強さは圧倒的です。

立ちはだかる「リジェクト」と「テスター要件」の壁

ただし、最近のGoogle Playは個人開発者に厳しくなっています。
特に2023年11月以降に作られた個人の開発者アカウントでは、「20人以上のテスターに14日間連続でテストしてもらう」というクローズドテスト要件が課されました。
これが初心者の心をへし折っています。

「友達20人もいないよ…」と絶望する前に、SNSや開発者コミュニティ(XやDiscordなど)を活用しましょう。
「相互テストお願いします!」と呼びかければ、同じ境遇の個人開発者が助けてくれます。
ここを乗り越えてリリースまで漕ぎ着けた人は、それだけで「課題解決能力がある」とみなされます。

カフェでノートPCを開き、SNSで相互テストを募集している真剣な表情の男性の線画イラスト

学習を継続するための「メンター視点」のアドバイス

私は多くの初心者が挫折していくのを見てきました。
挫折する理由は「エラーが解決できない」か「何を作ればいいかわからない」のどちらかです。

エラーは友達、怖くない

初心者は赤い文字のエラーログが出ると「失敗した!」と焦ります。
違います。エラーログは「ここが間違ってるから、こう直すと動くよ」というPCからの手紙です。
英語だから怖いだけです。DeepLに突っ込んでください。
99%のエラーは、そのエラーメッセージをそのままGoogle検索すれば、Stack Overflow(エンジニアの知恵袋)に答えがあります。
エラーが出たら「ラッキー、経験値稼げるじゃん」と思えるようになったら、あなたはもうエンジニアです。

最初から「完璧」を目指さない

「Uberみたいなアプリ作りたいです!」
気持ちはわかりますが、あれは何百人の天才エンジニアが何年もかけて作ったものです。
初心者がいきなり作れるわけがありません。
最初は「ボタンを押したら音が鳴る」とか「サイコロ振って数が出る」とか、そんなレベルでいいんです。
小さな成功体験を積み上げてください。


FAQ:よくある質問

Q. 英語ができないと無理ですか?

A. 中学レベルの英語力があれば大丈夫です。コードに使われる単語(if, for, returnなど)は限られています。ドキュメントを読むときは翻訳ツールを使えばOK。ただ、エラーメッセージを読むのに慣れは必要です。

Q. 独学で稼げるようになりますか?

A. 可能です。Android開発は情報が多いので、独学でも十分習得できます。ただ、環境構築やリリースの手順など、ハマりやすいポイントが多いので、Udemyの動画教材やメンターサービスを利用して「時間を買う」のも賢い選択です。

Q. Kotlin Multiplatform (KMP) ってどうですか?

A. 最近話題ですね。KotlinでiOSアプリも作れる技術です。非常に有望ですが、まずはAndroidネイティブ(Kotlin + Jetpack Compose)をしっかり固めることをお勧めします。基礎がない状態でマルチプラットフォームに手を出すと、トラブルが起きた時に原因がわからず詰みます。

Q. アプリ内広告で稼げますか?

A. 正直、今の時代は厳しいです。よほどヒットしない限り、広告収入だけで生活するのは難しいでしょう。まずは「スキルを身につけて案件で稼ぐ」ことを主軸にし、自作アプリはお小遣い程度(またはポートフォリオ)と割り切るのが現実的です。


そのPCで、世界への扉を開けよう

夕暮れ時の部屋で、ビルドの待ち時間にコーヒーを飲みながら、画面を見つめ微笑む男性の線画イラスト

Android開発は、Web開発に比べると少し準備が大変かもしれません。
PCのスペックも必要だし、環境構築も面倒だし、Googleの審査も厳しい。

でも、だからこそ「参入障壁」になり、ライバルが少ないのです。
一度環境を作ってしまえば、あなたのWindows PCは「魔法の杖」になります。
通勤電車の中で隣の人が使っているそのアプリ、あなたが作れるようになるんです。

エラーに悩み、ビルド時間にイライラし、それでも動いた瞬間の喜びに震える。
そんなエンジニアの日常へ、ようこそ。
まずはAndroid Studioのダウンロードボタンを押すところから、あなたの冒険を始めてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いたエンジニア

知念 真由のアバター 知念 真由 UI/UXエンジニア

UI/UXの改善を得意とする柔軟な発想力の持ち主。デザインとコードの両方を扱える希少なタイプ。人の気持ちを理解するのが上手く、ユーザー視点での提案が得意。仕事後のジム通いが日課で、体力づくりにも余念がないアクティブな性格。

目次