トップページ > 記事閲覧
hasCode="true"にするとエラー
名前:Dixq 日時: 2017/03/25 02:14

Androi版でJavaを呼び出したいと思っています。 こちらのサイトの DXライブラリ Android版を使用した Androidアプリで Java のコードを実行する dxlib.o.oo7.jp/lecture/Android/Android_Java.html にある通り進めておりましたところ android:hasCode="false" のfalseをtrueにすると エラー MSB3073 コマンド ""C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3\bin\ant.bat" debug -Dout.final.file="C:\Users\dixq\Documents\Visual Studio 2017\Projects\DanmakuBench\DanmakuBench\DanmakuBench.Packaging\ARM\Release\DanmakuBench.apk"" はコード 1 で終了しました。 DanmakuBench.Packaging C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\MDD\Android\V150\Android.Common.targets 402 このようなエラーとなりますが、どのように修正すればよろしいでしょうか。
メンテ

Page: 1 |

Re: hasCode="true"にするとエラー ( No.1 )
名前:Dixq 日時:2017/03/25 12:21

スクリーンショットを撮りましたので掲載します。 URL : dixq.net/private/DXSS.png
メンテ
Re: hasCode="true"にするとエラー ( No.2 )
名前:管理人 日時:2017/03/26 04:11

アップしていただいたスクリーンショットを拝見する限りでは AndroidManifest.xml に問題は無いようです ただ、今日改めて『DXライブラリ Android版を使用した Androidアプリで Java のコードを実行する』を 私も試してみたのですが、問題なくビルド・実行することができました なので、スクリーンショットからは読み取れない箇所に原因があるかもしれません DanmakuBench.java の内容はどのようになっていますでしょうか?
メンテ
Re: hasCode="true"にするとエラー ( No.3 )
名前:Dixq 日時:2017/03/26 10:38

DanmakuBench.javaも基本形ほとんど中身が空(コメントアウト)なので問題ないはずだと思います・・・。 JNI、NDK系の説明サイトを頼りに情報をたどってみましたが有効な情報が見つかりませんでした・・。 こちらにプロジェクト一式をアップしました。 dixq.net/zip/DanmakuBench.zip 大変お手数で申し訳ございませんが、お手すきの時にでも見て頂けないでしょうか。。。
メンテ
Re: hasCode="true"にするとエラー ( No.4 )
名前:Dixq 日時:2017/03/26 10:52

なお、以下のように変更するとコンパイルが通ります。 android:hasCode="true" ↓ android:hasCode="false" と <activity android:name="com.DanmakuBench.Packaging.DanmakuBench" ↓ <activity android:name="android.app.NativeActivity"
メンテ
Re: hasCode="true"にするとエラー ( No.5 )
名前:管理人 日時:2017/03/26 20:28

プロジェクトを拝見いたしました そして手元の環境( VisualStudio Community 2017 )では、問題なくビルドが通りました…! ( 弾幕ベンチ凄いですね!私が一つ前に使用していた(現在PCに繋ぎっ放しの)F-05Fのスコアは17526でした ) 手元の環境は VisualStudio Community 2017 の iOS/Android 環境のインストールのほかに AndroidStudio をインストールしていたりするのですが、その辺りが何か関係しているのかもしれません… C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\MDD\Android\V150 というフォルダにある Android.Common.targets の 402行目↓ <Exec Condition="'@(_copiedFiles)' != '' or '$(IsLocalDirectory)' == 'true' or '$(IsLastBuildUnsuccessful)' == 'true'" Command="&quot;%(AntPackage.ToolPath)&quot; %(AntPackage._AdditionalOptions)%(AntPackage.AntTarget) -Dout.final.file=&quot;$(PackagePath)&quot;" WorkingDirectory="$(PackageOutputPath)" ContinueOnError="ErrorAndContinue"/> でエラーが発生しているとのことなのですが、apache-ant-1.9.3\bin\ant.bat というツールでエラーが発生する ことについて、私よりも Android に詳しい Dixqさん的になにか思い当たることはありますでしょうか?
メンテ
Re: hasCode="true"にするとエラー ( No.6 )
名前:Dixq 日時:2017/03/27 00:30

お手数お掛けして申し訳ございません。 > そして手元の環境( VisualStudio Community 2017 )では、問題なくビルドが通りました…! なんと・・。 という事は私の環境が悪いようですね。 PCは何台かあるので、別のPCで試してみます。 > AndroidStudio をインストールしていたりするのですが、その辺りが何か関係しているのかもしれません… もちろん私もインストール済みです。Eclipseも。 > Dixqさん的になにか思い当たることはありますでしょうか? 本件のエラーメッセージは今回に限らずManifestファイルに何か記載ミスがあると出ます。 (前にも何度か同じ現象に遭遇済み) 以前はManifestファイルに記載ミスがあったのでそれを直したら直りましたが、 今回はどこを見比べても記載ミスはなく困っています。 AndroidStudioと違ってミスがあっても、どこが悪いと指摘してくれないのがVisualStudioの欠点ですね・・。 とりあえず私のコーディング内容にミスは無いようなので環境を変えてやってみます。 > 弾幕ベンチ凄いですね! ありがとうございます。 DXライブラリのAndroid版がどれ位のパフォーマンスを持っているかはみんなが知りたいと思いますので良い指標になるのではと思っています。 スコアは50FPSでギリギリ表示しきれなくなった状態の弾幕の最大表示弾数ですので(若干補正していますが) 管理人さんの端末の場合最大でゲーム内で17526個位出しても大丈夫という一つの指標になります。 弾幕愛好家としては60FPSでいくつ弾を出せるかをいつも気にしており、 一つの目安として2000個を60FPSで表示出来れば満足な弾幕ゲームが作れると思っております。 私の端末ではスコアは2万でした。 このライブラリのパフォーマンスには脱帽、、頭が下がります。 本当にありがとうございます。 DXライブラリで検索したらうちのサイトが結構上に来ますので、出来るだけ私のホームページで解説・宣伝のお手伝いが出来たらと思っております。 今後ともよろしくお願い致します。
メンテ
Re: hasCode="true"にするとエラー ( No.7 )
名前:Dixq 日時:2017/03/27 00:41

直りましたー! C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3\bin にあるapache-antのバージョンを 1.9.3⇒1.10.1に更新したら直りました。 何故私の環境だけ1.9.3でうまく行かないのかは謎ですが。。。 教えて頂いたキーワードがピッタリ解決の糸口にハマりました。 大変ありがとうございました。 これでGooglePlayに掲載出来ます。 掲載出来たら雑談掲示板ででも報告致します。
メンテ
Re: hasCode="true"にするとエラー ( No.8 )
名前:管理人 日時:2017/03/27 03:22

問題が解決したようで何よりです 因みに私の環境も apache-ant のバージョンは 1.9.3 でしたが、問題なくビルドできていました… 謎が深まりますね… 因みに現在使用している端末( F-02H )で弾幕ベンチを試してみたところ、Scoreは4700でした、 何故かと言うと、この端末はリフレッシュレートが50であるため、最大が50FPSとなっていて、 少しでも処理落ちしてしまうと計測終了になってしまうからです どうやら Android端末はリフレッシュレートがさまざまなようで、必ずしも 60Hzという わけではないようです > このライブラリのパフォーマンスには脱帽、、頭が下がります。 > 本当にありがとうございます。 OpenGL ES の使い方はあまり最適化できていないと思うので、単純にC++言語の高速さと、 最近の端末の性能の高さのお陰だと思います (^ ^; 私も少し古いノートPCでガクガクだった処理が F-05F ではヌルヌル動いたことに驚きました > DXライブラリで検索したらうちのサイトが結構上に来ますので、出来るだけ私のホームページで解説・宣伝のお手伝いが出来たらと思っております。 > 今後ともよろしくお願い致します。 ありがとうございます こちらこそよろしくおねがいします m(_ _)m
メンテ
Re: hasCode="true"にするとエラー ( No.9 )
名前:Dixq 日時:2017/03/28 00:26

すみません、apache-antのzipが解凍に失敗していただけでリビルドは通るもののapkが生成されません。。。 ということで改めてやってみると新しいapache-antのバージョンでも同じエラーがおきます。 なので振り出しです。 私なりに原因を探ってみました。 管理人さんのPCではうまくいくとのことで私の環境依存な可能性が高いです。 そこでセカンドPCの環境に一つ一つ必要な物をインストールして確認しました。 すると https://marketplace.visualstudio.com/items?itemName=VisualCPPTeam.JavaLanguageServiceforAndroidandEclipseAndroidProj をインストールした直後にエラーになることが分かりました。 管理人さんのPCにはこれはインストールされていますか? これは初期状態でJavaファイルを開くとインストールが促されるものです。 しかし一度インストールしたらアンインストールしても症状は直りません。 また、よければお手すきの時に 管理人さんの環境でDanamakuBench.javaのコメントアウトを外しても正常にapkファイルが生成されるか 試して頂けないでしょうか。 とりあえずうちのPC環境ではJavaが有効な状態でのコンパイルはできなくなってしまいました。。。 > この端末はリフレッシュレートが50であるため、最大が50FPSとなっていて、 なるほど、、。 FPSが55以下の端末は利用できなでエラーが表示されるように修正しました。
メンテ
Re: hasCode="true"にするとエラー ( No.10 )
名前:管理人 日時:2017/03/28 01:36

> また、よければお手すきの時に > 管理人さんの環境でDanamakuBench.javaのコメントアウトを外しても正常にapkファイルが生成されるか > 試して頂けないでしょうか。 すみません、DanamakuBench.java のコメントアウトを外してビルドしたら私の環境でもエラーが発生しました そして、ビルド結果の出力に 1> [javac] D:\DanmakuBench\DanmakuBench\DanmakuBench.Packaging\ARM\Release\Package\src\com\DanmakuBench\Packaging\DanmakuBench.java:66: エラー: ')'がありません と出ていたので、DanmakuBench.java の括弧の誤りを修正したところ、ビルドが成功しました! よろしければお試しください m(_ _)m
メンテ
Re: hasCode="true"にするとエラー ( No.11 )
名前:Dixq 日時:2017/03/29 23:37

あ、確かに間違ってますね。 ただ > DanmakuBench.java:66: エラー: ')'がありません そんな親切なエラーではないです。。。 重大度レベル コード 説明 プロジェクト ファイル 行 エラー MSB3073 コマンド ""C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3\bin\ant.bat" debug -Dout.final.file="C:\Users\dixq\Documents\Visual Studio 2017\DanmakuBench\DanmakuBench\DanmakuBench.Packaging\ARM\Debug\DanmakuBench.apk"" はコード 1 で終了しました。 DanmakuBench.Packaging C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\MDD\Android\V150\Android.Common.targets 402 直しても直さなくても エラー内容は変わらずapache-antで生じますのでapache-antの問題なのかもしれませんが、そうとも思えません・・。 分かりません。。。 私の環境依存の可能性もあるので一旦本件はペンディングとしたいと思います。 御協力ありがとうございました。
メンテ
Re: hasCode="true"にするとエラー ( No.12 )
名前:管理人 日時:2017/04/02 14:27

Java関連のビルドエラーが発生した際、『エラー一覧』ウインドウには 重大度レベル コード 説明 プロジェクト ファイル 行 エラー MSB3073 コマンド ""C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Apps\apache-ant-1.9.3\bin\ant.bat" debug -Dout.final.file="C:\Users\dixq\Documents\Visual Studio 2017\DanmakuBench\DanmakuBench\DanmakuBench.Packaging\ARM\Debug\DanmakuBench.apk"" はコード 1 で終了しました。 DanmakuBench.Packaging C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\MDD\Android\V150\Android.Common.targets 402 とだけ表示されて何が原因でエラーとなってしまっているのか分かりませんが、『出力』ウインドウには具体的なエラー内容が表示されます ( 『1> [javac] D:\DanmakuBench\DanmakuBench\DanmakuBench.Packaging\ARM\Release\Package\src\com\DanmakuBench\Packaging\DanmakuBench.java:66: エラー: ')'がありません』  の出力も『エラー一覧』ウインドウには表示されず『出力』ウインドウにのみ表示されていました ) 本件のビルドエラーは『出力』ウインドウにも具体的なエラー内容が出力されていないのでしょうか?
メンテ

Page: 1 |

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

   クッキー保存