トップページ > 記事閲覧
Android版がマニュアル通りに動かない
名前:ひよこ 日時: 2017/05/05 12:02

はじめまして。 Androidアプリ開発は初めてなのですが、 『Visual Studio Community 2017 の Androidアプリ開発でのDXライブラリの使い方』 の通りに行ってもどうしても実行できないので質問しました。 マニュアル通りのプログラムを実行すると、以下のようなエラーが出ます。 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー cannot find -lgnustl_static test.NativeActivity C:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\arm-linux-androideabi\bin\ld 1 エラー linker command failed with exit code 1 (use -v to see invocation) test.NativeActivity C:\test\test\test.NativeActivity\clang.exe 1 エラー (アクティブ) E1696 ソース ファイルを開けません "android/native_activity.h" test.NativeActivity c:\DxLib_Android\プロジェクトに追加すべきファイル_Android用\DxFunctionAndroid.h 13 エラー (アクティブ) E1696 ソース ファイルを開けません "android/window.h" test.NativeActivity c:\DxLib_Android\プロジェクトに追加すべきファイル_Android用\DxFunctionAndroid.h 14 エラー (アクティブ) E1696 ソース ファイルを開けません "stdio.h" test.NativeActivity c:\DxLib_Android\プロジェクトに追加すべきファイル_Android用\DxDataType.h 14 エラー MSB3030 ファイル "C:\test\ARM\Debug\libtest.so" は見つからなかったためコピーできません。 test.Packaging C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\MDD\Android\V150\Android.Common.targets 363 エラー (アクティブ) E0020 識別子 "ANativeActivity" が定義されていません test.NativeActivity c:\DxLib_Android\プロジェクトに追加すべきファイル_Android用\DxFunctionAndroid.h 34 ここ以降のエラーは、『識別子 ○○ が定義されていません』というのが大量に出てきます。 "int64_t"、"NULL"、"size_t"、"uint16_t"、"uint32_t"、"uint8_t"、"va_list"が定義されていないと出てきます。 因みに、Create new Android Virtual Device(AVD)でマニュアルと全く同じものが作れなかった(CPU/ABIが『No system images installed for this target.』となって選択することも下のOKを押すことも出来ない)ので、 Target: Android 6.0 - API Level23 CPU/ABI:Google APIs ARM(armeabi-v7a) に変えて、それ以外はマニュアルと同じにして実行しています。 Visual Studioのダウンロードのせいなのかと思い、 ・ユニバーサルWindowsプラットフォーム開発 ・.NETデスクトップ開発 ・C++によるモバイル開発(デフォルトではチェックされていなかったGoogle Android エミュレーター(APIレベル23)とIntel Hardware Accelerated Execution Manager(HAXM)も含む) を選択して再ダウンロードしましたが、やはりCPU/ABIは選べず、実行も上記と同じエラーでした。 仮想デバイスが悪いなら実機で実行は出来ないかとも考えましたが、その繋ぎ方も分からない状態です。 どうしたら動かせるでしょうか。 いずれは実機で動かすため、出来れば実機でのデバック方法まで教えてくれるとありがたいです。 Android開発の知識が乏しく、個人での対処が大した事が出来てなくて申し訳ないのですが、お願いします。
メンテ

Page: 1 |

Re: Android版がマニュアル通りに動かない ( No.1 )
名前:管理人 日時:2017/05/05 21:10

> マニュアル通りのプログラムを実行すると、以下のようなエラーが出ます。 もしかしたら『Visual Studio Community 2017 の Androidアプリ開発でのDXライブラリの使い方』の 『3.DXライブラリを使用するためのプロジェクトの設定を行う』のDの手順が正しく行えていないかもしれません =======================================   D 次に右側に表示されている『追加のインクルード ディレクトリ』の項目にDXライブラリのパッケージ内に     入っている『プロジェクトに追加すべきファイル_Android用』フォルダのパスを追加してから、     再度ダイアログ右下にある『適用(A)』ボタンを押します。     ( パスの例→  C:\DxLib_Android\プロジェクトに追加すべきファイル_Android用;              ( パスの末端に次のパスとの区切りとなるセミコロン『;』も書きます )       尚、DXライブラリをマイドキュメントフォルダに入れるとこれらのパス指定が面倒になりますので       DXライブラリはなるべく浅いフォルダに入れておくことをお勧めします ) ======================================= こちらではDXライブラリのパスを『追加する』、つまり既に記載されていたパスにDXライブラリのパスを追加するのですが、 最初から書かれているパス『;$(Sysroot)\usr\include;$(StlIncludeDirectories)%(AdditionalIncludeDirectories)』を 削除されてしまってはいないでしょうか? > 因みに、Create new Android Virtual Device(AVD)でマニュアルと全く同じものが作れなかった(CPU/ABIが『No system images installed for this target.』となって選択することも下のOKを押すことも出来ない)ので、 > Target: Android 6.0 - API Level23 > CPU/ABI:Google APIs ARM(armeabi-v7a) > に変えて、それ以外はマニュアルと同じにして実行しています。 Taget の設定には一つ上の項目の Device の設定が関係してくるのですが、そちらは 『Galaxy Nexus (4.65", 720 x 1280: xhdpi)』になっていますでしょうか? もし『Galaxy Nexus (4.65", 720 x 1280: xhdpi)』になっていても Target に『Android 4.4.2 - API Level 19』が 表示されませんでしたら、お試しされたように Target に『Android 6.0 - API Level23』、 CPU/ABI に『Google APIs ARM(armeabi-v7a)』でも大丈夫です > いずれは実機で動かすため、出来れば実機でのデバック方法まで教えてくれるとありがたいです。 実機での実行は、お使いの Android 端末によって手順が異なるので、解説する場合は文章量が多くなってしまうので 今のところどうしようか悩んでいます 基本的には 1.デバッグに使用したい Android端末を開発モードに切り替える 2.Android端末を USBケーブルで PC と接続する 3.各 Android端末用の開発用ドライバ( ADB USBドライバ )をインストールする 4.実機の Android端末が VisualStudio のデバイスリストに表示されるので、選択して実行する 5.4までの手順でデバイスリストに端末が表示されなかったら Google USB Driver をインストールする という流れになります > 1.デバッグに使用したい Android端末を開発モードに切り替える こちらは Android端末側で行う作業です 端末の設定画面の『端末管理』→『端末情報』の画面に『ビルド番号』という項目があるので7回ほど連続でタッチします すると『開発向けオプション』が解放されます( 誤操作防止用の為の手順のようですが、まるでゲームの裏技みたいです ) 解放された『開発向けオプション』は『端末情報』が表示されている項目と同じ段に表示されます 『開発向けオプション』では最初開発モードが OFF になっているので ON にします 加えて『USBデバッグ』の項目も最初 OFF になっているので ON にします > 2.Android端末を USBケーブルで PC と接続する 普通に USBケーブルで Android端末と PC を接続します > 3.各 Android端末用の開発用ドライバ( ADB USBドライバ )をインストールする 開発用のドライバは Android端末の各メーカーで異なるので、 それぞれのメーカーの開発用ドライバ( ADB USBドライバ )を ネット上からダウンロードしてインストールする必要があります お使いの Android端末は何でしょうか? Xperiaのドライバダウンロードページ https://developer.sonymobile.com/downloads/drivers/ AQUOSのドライバダウンロードページ http://k-tai.sharp.co.jp/support/developers/driver/ ARROWSのドライバダウンロードページ http://spf.fmworld.net/fujitsu/c/develop/sp/android/ auの Android端末のドライバダウンロードページ https://www.au.com/developer/android/kaihatsu/adb/ ASUSのドライバダウンロードページ https://www.asus.com/jp/support/Download/39/1/0/13/Lk0Sg1Ulh0Ph49Hl/8/ Galaxyのサポートページ http://www.samsung.com/jp/support/ ( 各機種の『ダウンロード&マニュアル』からダウンロード、無い場合は 5 の Google USB Driver で良いのかもしれない ) また、ドライバをインストール、又はドライバファイルを解凍した後、デバイスマネージャーから 手作業でインストールする必要がある場合が殆どですので、こちらの Nyan様のサイト『Androidアプリ開発』のこちらの記事 <Androidアプリ開発 [Android] アプリを実機でデバッグするためのUSB ドライバーを設定する> https://akira-watson.com/android/nexus7-usb-driver.html の『デバイスマネージャーの設定』の項目をご覧になって、ダウンロードしたドライバを適用してください > 4.実機の Android端末が VisualStudio のデバイスリストに表示されるので、選択して実行する 3までの作業が完了すると VisualStudio のデバイス一覧に、エミュレーションデバイスに混ざって 実機の端末も表示されますので、そちらを選んで実行すると、実機でプログラムが実行されます ただし、実機の場合デバッグ実行できない端末もありますので、その場合は『デバッグ』→『デバッグなしで開始』で 実行する必要があります( 因みに私はまだ実機でデバッグ実行できる Android端末に出会えていません… ) > 5.4までの手順でデバイスリストに端末が表示されなかったら Google USB Driver をインストールする 4 までの手順で VisualStudio のデバイスリストに表示されない場合は Android SDK Manager が以下の場所にあるので実行します C:\Program Files (x86)\Android\android-sdk\SDK Manager.exe するとインストールできるものが一覧表示されるので、その中から一番下の方にある 『Extras』→『Google USB Driver』 にチェックを入れて『Install XX packages...』ボタンを押してインストールします
メンテ
Re: Android版がマニュアル通りに動かない ( No.2 )
名前:ひよこ(解決) 日時:2017/05/06 01:11

管理人様、ありがとうございます。 まさにその3.Dで文字を消していたのが原因でした。 元々ある文字の前にパスを書き加えたら正常に動作しました。 実機でのデバックも無事出来ました。 CPU/ABIはGalaxy Nexus (4.65", 720 x 1280: xhdpi)にしてもAndroid 4.4.2 - API Level 19が表示されなかったのでそのままですが、 仮想デバイスでのデバックと実機でのデバックが両方出来たので、このスレッドは解決とさせていただきます。 ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存