このサイトでは、分析、カスタマイズされたコンテンツ、および広告に Cookie を使用します。このサイトを引き続き閲覧すると、Cookie の使用に同意するものと見なされます。
Hi, Developers,
straightapps.com
作成日 October 2, 2019
トップページ > Android 開発トップ > Android App ビルド環境の構築(Win10/VS2015/Java 編)
line
Android 開発
line

ここでは、64bit Win10 の Visual Studio 2015 で Android アプリをビルドするための手順について、書いています。

Windows 10 Pro 64 ビット版に Visual Studio 2015 を 新規インストール ( Visual C++ やクロスプラットフォーム開発ツールもインストールします。 ) し、Android アプリ(ネイティブ・アクティビティ)をビルドできる環境を作成します。

インストールを完了し、Visual Studio を起動し、「ツール」メニューの「Android」から 「Android SDK Manager...」をクリックしても何も起きない、という問題にいきなりぶつかりました。 かつて作成した、32bit Win10 では、ユーザーアカウント制御が表示された後、Android SDK Manager を起動できたのですが・・・。

ここではネイティブ・アクティビティのプロジェクトを作成し、そのままコードを何も変更しないでビルドを通すまでに 発生した問題とその解決策について書いています。

▼ セクション一覧

Android SDK Manager を起動できない
Java 開発環境をインストールする
Visual Studio でパスを設定する
Android SDK を更新する
Native Activity をビルドする

ご利用に際しては、必ずプライバシーポリシー(免責事項等)をご参照ください。
また、本サイトが初めての方は、まずこのページの注意事項をご覧ください。

Android SDK Manager を起動できない

投稿 October 2, 2019

Android SDK を管理するツール、Android SDK Manager は、Visual Studio から起動できます。

しかし、新しい Windows 10 Pro マシンに Visual Studio 2015 をインストールし、 「ツール」メニューから「Android」、 「Android SDK Manager...」と選んでも、ユーザーアカウント制御は表示されず、起動もされませんでした。 Visual Studio は起動操作を行ったということで、起動されているつもりになっていて、一部使えなくなったメニューコマンドがあります。 タスクマネージャーを見ても、アプリとして起動されている様子はありません。

管理者としてログインしていますが、念のため、疑ってみます。

スタートメニュー ( 画面左下のウィンドウズアイコンです。Windows キーでも開けます。 ) を開き、プログラムの一覧から「Android SDK Tools」グループを開きます。 「SDK Manager」を右クリックし、「その他」から 「管理者として実行」すると、ユーザーアカウント制御が表示されます。 しかし、「はい」をクリックしても、Android SDK Manager は起動されません。 タスクマネージャーで見ても、起動されている様子はありません。

調べてみると、どうやら Java が関係しているようです。 Java の設定を確認するには、 Visual Studio で「ツール」、「オプション」と選んで、オプションダイアログを開きます。 ダイアログ左側で、「Cross Platform」、「C++」、 「Android」と選んでいくと、Android SDK 等のパスが表示されます。

SDK 設定画面

Java 開発環境が設定されていないことがわかります。 Java 開発環境をダウンロードして、設定する必要がありそうです。

▲ページ先頭へ

Java 開発環境をインストールする

投稿 October 2, 2019

更新以外でわざわざ Java をインストールしていた記憶はありませんが、利用規約が変更になってからの Windows なので、 プリインストールされていないのかも知れません。

Oracle の Java SE ダウンロードページから、ダウンロードします。 JDK ( Java Development Kit )  のライセンスとしては、個人使用や開発目的の場合は、自由に使えるようです。

Java SE ( Java Standard Edition )  8 は、Win10 32bit でも使えるようですが、Java SE 11 からは 32bit 版の Windows には対応していないようです。 対応OSについては、それぞれのバージョンの Certified System Configurations のリンク先に書いてあります。 現時点で最新は Java SE 13 ですが、まずは安心と思われる Java SE 8 ( バージョン番号は 1.8 のようです。私が Win7 32bit で動作確認できているのは 1.7.0_55 です。 )  をダウンロードしてみます。 うまく動作したら、追って新しいものに変更したいと思います。

JDK の Download ボタンを押すと、ダウンロードページに進みます。 Windows 用には x86 と x64 が用意されています。 x64 が 64 ビット版ですので、その枠の上部の「Accept License Agreement」を選択し、 jdk-8u221-windows-x64.exe と書かれたリンクをクリックしましたが、すぐにはダウンロードされず、 Oracle プロファイルへのサインイン という画面になりました。 アカウントを持っているかわかりませんでしたので、「ユーザー名」と書かれた右側の i マークをポイントして、 「ユーザー名を忘れた場合」リンクを開いてみます。 メールアドレスの入力画面になりますので、可能性のあるメールアドレスを入力してみます。 すると、ユーザー名を教えるメールが送信されたようですが、メールを受信していません。 登録されていないメールアドレスでも、この「送信しました」メッセージが出てしまうのでしょうか? しばらく待っていても届きませんので、きっと登録されていないのでしょう。

仕方ありませんので、「プロファイルの作成」ボタンをクリックして、アカウントを作成します。

メールアドレス、パスワード、名前など、たくさんの情報を入力する必要があります。 会社に所属していることが前提のようですから、入力できないところは「個人」としておきます。 登録すると、「メールを確認してください」の画面で、メールを送信したので3日以内に確認しなさい、 とありますが、すぐにはメールが届きません。 多くのサイトでは即時に届くイメージですが、数分かかりました。

届いたメールの本文にある「電子メール・アドレスの確認」リンクをクリックすると、登録完了です。 再度 JDK ダウンロードのページに戻り、ダウンロードリンクをクリックしてログインすると、ダウンロードできるようになりました。

ダウンロードしたファイルを実行し、ユーザーアカウント制御で「はい」を選択します。

JDK インストールの承諾

更新されたライセンス契約」のリンク先は、ダウンロード前に読める、利用規約と同じです。 個人利用、あるいは開発目的であれば、問題なさそうです。 「収集する情報の詳細」では、個人情報を含まないデータを収集する、とあり、拒否はできません。

」ボタンを押して、進みます。

JDK インストールする機能

初期状態ですべてインストールすることになっていますが、3つの分類は詳細には選べませんので、 このままで「」ボタンを押します。

JDK インストール先フォルダ

インストール作業が進む途中で、コピー先フォルダの選択ダイアログが出ました。 親切です。 Cドライブは SSD で容量が小さいので、少しでも節約するため、Dドライブの同名フォルダを指定することにします。 変更ボタンでフォルダを選択できますが、自分で jre フォルダまで作成する必要があるようです。

JDK インストール先フォルダ不正

フォルダを指定したら、「次」ボタンを押します。

JDK インストール中

インストール完了まで自動で進みます。

JDK インストール完了

インストールは無事完了しました。

次のステップ」ボタンをクリックすると、ドキュメント(英語)のウェブページが開きました。 クリッカブルな階層図がありますので、そのうち参照するかもしれません。

完了したら、コマンドプロンプトで java -version コマンドを実行して確認します。 スタートメニューのプログラム一覧、「Windows システム ツール」グループにある「コマンドプロンプト」を起動します。 java -version と入力すると、java version "1.8.0_221" のように表示されます。

続いて、システム環境変数を確認します。 「Windows 環境変数の確認と編集」に詳細に手順を書いていますが、 コントロールパネルを起動し、「設定の検索」欄に「環境変数」と入力するのが簡単です。 表示される「システムのプロパティ」ダイアログの下のほうにある、「環境変数」をクリックします。 そして「システム環境変数」の中の「Path」を探します。 Path をクリックして選択された状態にしてから、「編集」ボタンを押します。

システム環境変数の Path

インストール先にDドライブを指定しましたが、1行目に見える javapath で終わるパスは存在しており、java.exe 等があります。 これのおかげで、先ほどのバージョンチェックができた、ということになります。

リストの最後に「D:¥Program Files¥Java&yem;jre1.8.0_221¥bin」を追加します。 「新規」ボタンを押し、このパス(インストールパス)を追加します。 このフォルダには多数の dll や exe があり、ここが実体となっているようです。

また、システム環境変数に、JAVA_HOME を追加しておくと良いようです。 システム環境変数グループの下部、「新規」ボタンをクリックし、下図のように追加します。 すると、上記 Path に追加するパスを、%JAVA_HOME%¥bin のように置き換えて見やすく書いてよくなるようです。

システム環境変数 JAVA_HOME 追加

▲ページ先頭へ

Visual Studio でパスを設定する

投稿 October 2, 2019

Visual Studio でも、パスを設定する必要があります。

Visual Studio 2015 を起動します。 「ツール」メニューから「オプション」を選ぶと、オプションダイアログが表示されます。 左側で Cross PlatformC++Android と選びます。 右側、Java SE Development Kit の下のチェックボックスにチェックを入れると、パスを指定できるようになります。 ... ボタンを押し、Java をインストールしたフォルダを選択します。 私の場合は、Dドライブに入れたので「D:¥Program Files¥Java¥jre1.8.0_221」を指定です。

SDK 設定画面

しかし、これでもまだ、Android SDK Manager は起動できませんでした。

特に気にしていたわけではないのですが、同じダイアログで、たまたま Xamarin の設定を見ると、Android SDK が見えていないようです。

Xamarin 設定画面

その右にある Change リンクをクリックして、それらしいフォルダを選択しても、 adb.exe が見つからない、というエラーになります。 エクスプローラーでフォルダを見ると、android-sdk の platforms サブフォルダには、adb.exe どころか、何もありません。 そこで、見つけた、android-sdk の SDK Manager.exe を実行してみると、Android SDK Manager が起動されました!

android-sdk フォルダ

Android SDK Manager を起動すると、下の図のようになりました。 最初からチェックされた状態になっていますが、Android SDK Platform-tools がないのが問題でしょうか。 とりあえずこのまま、「Install 10 packages」ボタンをクリックし、10 パッケージをインストールしてみます。

Android SDK Manager 初期画面

ライセンスの同意画面が出ました。個別に同意することもできるようですが、 Android SDK License を選んだ状態で Accept License をクリックすれば、 配下のものすべてに同意したことになるようです。 続けて、Android SDK Preview License を選んだ状態にして、Accept License をクリックして、こちらも同意します。 が、Install ボタンは押せるようにはなりません

ダウンロード同意画面

Android SDK Manager に戻って、Deselect All をクリックし、すべての選択状態を解除して、1つずつ試してみます。

※ この問題はこのセクション内では解決していません。解決を急ぐ方は「Android SDK を更新する」に進んでください。

まず、Android SDK Platform-tools です。 C:¥Program Files (x86)¥Android¥android-sdk¥temp を作成できずにエラーとなりました。 C:¥Program Files (x86)¥Android のプロパティの「セキュリティ」で、書き込みが許可されていないからでしょうか。 このフォルダに「フルコントロール」を設定してみます。

Android フォルダのプロパティ

編集」を押し、表示された画面で「フルコントロール」にチェックを入れると、変更と書き込みにもチェックが入りますので、OKボタンで設定します。 サブフォルダにも適用されると思います。確認してみると、適用されているようでした。

Android フォルダのセキュリティ設定

これでもう一度、Android SDK Platform-tools をインストールしてみます。 が、変わりません

では、temp フォルダを作成しておいてあげます。 が、今度はそのフォルダの zip ファイルへのアクセスが拒否されました、となりました。

作成した temp フォルダを削除し、Android フォルダのセキュリティ設定も、いったん戻しました。

▲ページ先頭へ

Android SDK を更新する

投稿 October 2, 2019

エクスプローラーで Android のパス、例えば C:¥Program Files (x86)¥Android¥android-sdk を開いて、 そこにある SDK Manager.exe右クリックし、「管理者として実行」で実行してみました。 すると、ユーザーアカウント制御が出ましたので「はい」で続行すると、Android SDK Manager が表示されました。 「Install 10 packages」表示のままインストールを試すと、やはり Install ボタンが押せる状態にはなりません。

Android SDK Platform-tools だけで試してみます。 すると、ついにインストールに成功しました。 なんだかログに赤文字で adb のエラーっぽいのがありますが、インストールは成功しています。 platform-tools サブフォルダには、 adb.exe ( Android Debug Bridge、多用途コマンドラインツール。 )  などが作成されました。

Android SDK Tools にはアップデートがあると出ていますので、これを先に更新すべきだったでしょうか。 少々時間がかかりましたが、うまくいったようです。

ポップアップ

こんなポップアップが表示されました。Android SDK Manager と AVD Manager が更新されたので再起動してください、ということです。 とりあえず、閉じます。

同様の手順で次々インストール・更新できそうですが、Visual Studio から起動できそうな気がしますので、やってみます。

Visual Studio 2015 を起動し、 「ツール」メニューから、「Android」 をポイント、 「Android SDK Manager」を選択します。 ユーザーアカウント制御のあと、無事 Android SDK Manager を起動できました

ボタンの表示は「Install 12 packages」になっていましたので、そのまま試します。

Android SDK Manager

すると、Android SDK License でライセンスに合意しただけで、Install ボタンが押せるようになりました。 下のグループには Preview の文字が見えるので、このまま Android SDK License のものだけ、インストールしてみます。 基本的には最新版にするほうがいいのでしょう。Android SDK Tools も、Android SDK Platform-tools も、より新しいものが検出されています。

かなり時間がかかりました。 そしてまた Android SDK Manager が更新されたので、再起動するようポップアップが出ました。 今度は Visual Studio から起動しているので、いったん閉じて、そこから再起動して問題ないでしょう。

Android の API レベルは、Android Developers のドキュメントの 真ん中ぐらいに表になっています。 広くみるなら Android 6 の API レベル 23 でしょうか。 近年のものだけサポートなら Android 8.0 の API レベル 26 でしょう。 2019 年 9 月の Disney Mobile App 5.5 は、Android 5.0 以降となっていますので、API レベル 21 は、十分広い範囲と言えそうです。 「【 2019 年 9 月】 Disney Mobile App を更新する」で触れています。

では、API レベル 29 しかインストールされませんでしたので、API レベル 21 もインストールしておきます。 不要なものがあると思われますが、わからないのですべて入れます。 が、android-29(Android 10)の中には 8 GB も入ってしまっていますので・・・Cドライブには余裕がないので、 System Image 系をアンインストールします。 System Image 系のものは、 AVD ( Android Virtual Device、仮想デバイス。 )  でのデバッグに必要なものでしょうか?

▲ページ先頭へ

Native Activity をビルドする

投稿 October 2, 2019

では、ここまでで、新しい Android 用 Native-Activity アプリケーションを作成してみます。 Visual C++ でプロジェクトの作成ができたら、ビルドしてみます。 CPU が x86 になっていますので、ARM64 に変更しておきます。

C:\Program Files (x86)\Android\android-sdk\tools\ant\build.xml:538: Unable to resolve project target 'android-19'

すぐにエラーになりました。 API レベル 29 と 21 しかインストールされていないので、android-19 はありません。 AndroidManifest.xml を開いて、 uses-sdk で指定されている 19 の部分を 21 に書き換えます。

<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19"/>

少し先に進みましたが、まだ通りません。

NDK_ROOT=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r11c\
ANDROID_NDK_HOME=C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r11c\
Unable to locate tools.jar. Expected to find it in D:\Program Files\Java\jre1.8.0_221\lib\tools.jar

NDK_ROOT にあるフォルダは、存在していますが、「ツール」メニューのオプションにある設定では android-ndk-r10e が指定されています。 Android NDK の下のチェックボックスにチェックを入れ、パスを r11c に変更します。

まだ通りません。 環境変数に ant を参照できるパスがないようです。
D:¥Program Files (x86)¥Microsoft Visual Studio 14.0¥Apps¥apache-ant-1.9.3¥bin
を、Java のパスのあとに追加します。 %JAVA_HOME%\bin よりうしろに追加すべきらしいです。

まだ通りません。 tools.jar が依然、見えません。 C ドライブの同名フォルダにはあるので、JDK のインストール時に別のフォルダに変えたのが問題でしょうか。 たったの 205 MB ですが。

WinDiff もない今の時代なので、試しにシステム環境変数 JAVA_HOME を C ドライブに変えただけで試します。 Visual Studio は念のため再起動です。 それだけではありませんでした。 ツールメニューのオプションのパス設定も、ビルドに参照されています。 しかし、変わりなく、ビルドできません。

Java の再インストールを試みますが、先にアンインストールしないと、インストーラーを起動できません。 コントロールパネルの「アプリ」から、Java で始まる2つを両方アンインストールしようとします。 が、msiexec.exe がアクセス権がないとエラーを出します。 C ドライブの Java フォルダと、D ドライブの Java フォルダに、フルコントロールの権限を設定しますが、 関係ないようです。

結局、JAVA_HOME も JDK インストール先の D ドライブにし、 ツールメニューのオプションのパス設定も D ドライブにすると、ついにビルドできました

SDK 設定画面

まとめると、システム環境変数の JAVA_HOME は D ドライブの Java のパス、Path 設定は %JAVA_HOME%¥bin と、そのあとの D:¥Program Files (x86)¥Microsoft Visual Studio 14.0¥Apps¥apache-ant-1.9.3¥bin を追加した状態です。

ビルドが通りましたので、実機を接続すると、初回のため、USB デバッグを許可しますか? のポップアップが出ました。 「このパソコンからの USB デバッグを常に許可する」にチェックを入れ、OK ボタンをタップします。 すると、Visual Studio で、実機デバッグができるようになります。 ARM、ARM64 とも実行可能ですが、今後のために、ARM64 がよいでしょう。 デバイスのデベロッパーモード設定をしていない場合は表示されず、実機デバッグ不能です。 先にデベロッパーモードを設定する必要があります。

BUILD FAILED
C:\Program Files (x86)\Android\android-sdk\tools\ant\build.xml:538: Unable to resolve project target 'android-19'

まだでした。ビルドは最後までは通っていませんでした。

NDK r11c が API 19 を参照しているのでしょうか? Android SDK Manager から、Android 4.4.2 用 API 19 の SDK Platform だけ、インストールしてみます。 すると、すべて通りました

実機では・・・配置エラーで起動できませんでしたが、ドロワーにはアイコンがあり、実行は可能でした。 このあたりは、Win7 32bit での動作と同じです。

AVD ではどうでしょうか。 ARM のエミュレータをうまく設定できなかったので、今はやめておきます。

▲ページ先頭へ
line
関連トピックス
line

C/C++ によるログ出力
C/C++ でファイルにログを出力する方法を検討しています。

line
その他のおすすめ
line

おすすめ記事はありません。

JavaScriptが無効です
▲ページ先頭へ


© 2017-2021 StraightApps.com 無断転載を禁じます。No reproduction without permission.