HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
1022
みやんびhsp34dishでビルドができない(環境構築)19未解決


みやんび

リンク

2015/10/22(Thu) 18:27:14|NO.72431

お世話になっております。
hsp3dishでandroidアプリを作成しようと環境を構築しテストを実行
してみたのですが、どうにもうまく行きません。
過去ログも参照し、色々と試しては見ましたが一向に改善できません。
何か設定が悪いのだとは思いますが、どこがおかしいのかさっぱりです。
ご指摘を頂けると助かります。

以下、行った内容です。

環境構築機は windows7Sp1 です。
hspはベクターよりインストーラー付をダウンロードしインストール。

"C:\hsp34"にインストールされました。
通常通りスクリプトエディターを実行してexe作成も可能です。

続いて「HSP3Dish android(NDK)版プログラミングガイド」を参照し
android用環境を整えました。

1)"C:\android" のフォルダを作成。

2)android-SDK(android-sdk_r24.3.4-windows.zip)をダウンロードし解凍。
インストールパスは"C:\android\android-sdk"としました。

3)SDK Managerを起動。
 "Tools" と "Android 4.2.2(API 17)" にチェックを入れてインストール
全てインストールされました。
 "C:\android\android-sdk\platforms" のフォルダに
"android-17" のフォルダが作成されていました。

4)推奨の "jdk-6u45-windows-i586.exe" を(オラクルに登録して)インストール
インストールパスは "C:\Program Files\Java"
 直下に "jdk1.6.0_45" と "jre6" ができました。

5)"android-ndk-r9c-windows-x86.zip" をダウンロードし解凍。
 "C:\android" のフォルダに "android-ndk-r9c" を入れました。
直下に "ndk-build.cmd" がありました。

6)"apache-ant-1.9.6-bin.zip" をダウンロードし解凍。
 "C:\android" のフォルダに "apache-ant-1.9.6" を入れました。

"C:\hsp34\hsp3dh.exe" を実行。
オプションボタンの androidオプション設定を次のように設定しました。

Java - C:\Program Files\Java\jdk1.6.0_45
SDK - C:\android\android-sdk
NDK - C:\android\android-ndk-r9c
ant - C:\android\apache-ant-1.9.6
プロジェクト - C:\android

新規プロジェクトボタンから次のように設定

プロジェクト名を "TEST"。 パッケージ名は空白にしました。
ID を "android-17" に変更。
新規作成ボタンを押すと "C:\android\TEST" が作成されました。

続いて、ソーススクリプトに
"C:\hsp34\sample\hsp3dish\block3.hsp" を指定。
データファイルは空白。プロジェクト名は "TEST" が選択されていました。

ビルドボタンを実行。

ソーススクリプト:block3.hsp
HSP変換処理中...
UTF-8に変換中...
変換終了しました。
NDKビルド処理中...
TESTビルド処理中...
終了しました。

となりここで終了しました。特にエラーとは表示されていません。
"C:\android\TEST\bin" を確認したところ中身は空でした。

以下はビルドを実行したときのログです。

#HSP script preprocessor ver3.4 / onion software 1997-2014(c)
#Use file [hspdef.as]
#HSP code generator ver3.4 / onion software 1997-2014(c)
#未初期化の変数があります(key)
#未初期化の変数があります(bsize)
#Code size (1854) String data size (204) param size (0)
#Vars (38) Labels (8) Modules (0) Libs (0) Plugins (0)
#No error detected. (total 2432 bytes)

Android NDK: WARNING:jni/Android.mk:TEST: non-system libraries in linker flags: -lhsp3lib
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
[armeabi-v7a] Compile++ thumb: TEST <= hspsource.cpp
jni/hsp3embed/hspsource.cpp: In function 'void __HspEntry()':
jni/hsp3embed/hspsource.cpp:118:30: warning: deprecated conversion from string constant to 'char*'

[-Wwrite-strings]
jni/hsp3embed/hspsource.cpp: In function 'void L0001()':
jni/hsp3embed/hspsource.cpp:219:18: warning: deprecated conversion from string constant to 'char*'

[-Wwrite-strings]
jni/hsp3embed/hspsource.cpp: In function 'void L0002()':
jni/hsp3embed/hspsource.cpp:549:21: warning: deprecated conversion from string constant to 'char*'

[-Wwrite-strings]
[armeabi-v7a] SharedLibrary : libTEST.so
[armeabi-v7a] Install : libTEST.so => libs/armeabi-v7a/libTEST.so

-----ログここまで-----

別のPCにも同じように設定してそちらもダメだったので根本的に
何か勘違いをしているのかもしれませんが、どこがおかしいのか
さっぱりわかりません。
ここが間違っているよ、などご指摘いただけないでしょうか。
よろしくお願いいたします。



この記事に返信する


OK

リンク

2015/10/22(Thu) 22:46:53|NO.72432

・Android環境の整え方の順番で
→2)と5)が逆な気がする。

・jdkは32bitですか?

・IDをandroid-17に変更とありますが、
HSP3Dish helperのIDボタンで
IDリスト取得できますか?

・HSPと関係ないけどjreは最新にした方がいいかなぁ…



zakki

リンク

2015/10/22(Thu) 23:27:55|NO.72433

特にエラーなく libs/armeabi-v7a/libTEST.so にビルド成功してるログに見えます



みやんび

リンク

2015/10/22(Thu) 23:30:28|NO.72434

>OKさん
ありがとうございます。

環境構築に順番は関係あるんでしょうか?
SDKとNDKの順番を入れ替えても特別意味はないような気もしますが。

本文にも書いてますが、"jdk-6u45-windows-i586.exe" をインストールしました。
これは "Windows x86" と書いてあったので32bit版だと思います。
64bit版は "jdk-6u45-windows-x64.exe" ですよね?こちらは使用していません。

IDボタンで "android-17" は表示されます。 android-17 のフォルダもSDKのフォルダ内
に作成されています。

JRE6は「HSP3Dish android(NDK)版プログラミングガイド」に推奨と書かれていたので
選択しました。



みやんび

リンク

2015/10/22(Thu) 23:33:32|NO.72435

>zakkiさん
ありがとうございます。

確かに「終了しました。」と出てエラーも何もないのですが、
apkファイルが "C:\android\TEST\bin" に作成されるんですよね?
何度探してみてもここには何もないのですが。



OK

リンク

2015/10/22(Thu) 23:44:01|NO.72436

>SDKとNDKの順番
確かにこれは関係ありません。

>"Windows x86"
これならjdkは問題なさそうです。

>SDK Managerを起動。
する前にjdkを入れてみて下さい。

ちなみに、jdkは6で大丈夫です。
今回の質問とは関係ないけど、
jreは上げておいた方がいい気がする。

最後に、ログで「BUILD SUCCESSFUL」
が無いので、binフォルダには.apk
はありません。



zakki

リンク

2015/10/23(Fri) 00:45:38|NO.72437

ログ見る限りではNDKのビルドだけ走って、その後のantでのビルドが動いていないようにみえます。
cmdのコマンドラインなどから

C:\android\apache-ant-1.9.6\bin\ant -version
でant単体は動きますか?



みやんび

リンク

2015/10/23(Fri) 01:09:30|NO.72438

>OKさん
ありがとうございます。

とりあえず、SDKおよびJDKをアンインストール後再インストールし、
一番最後にSDKManagerを起動してパッケージインストールをしてみました。
結果、変わらずです。

>binフォルダには.apkはありません。
はい、なのでそれを質問しています。

>zakkiさん
ありがとうございます。
cmdを起動し上記を実行したところ、何も反応がありませんでした。
(反応が無いように見える)



窓月らら

リンク

2015/10/23(Fri) 02:14:54|NO.72439

HSP本体は最新の 3.5b2 にすることをおすすめします。
かなり修正されてますので。
その場合、プロジェクトを作り直してください。



みやんび

リンク

2015/10/23(Fri) 02:36:17|NO.72440

>窓月うららさん
すみません、ありがとうございます。
試しに3.5b2にしてみました。

新たに "C:\hsp35b2" フォルダを作成し "hsp34" の中身をコピー。
その後、ダウンロードした "hsp35beta" の中身をコピーしました。
プロジェクトのフォルダを削除し、再度作成。
ソーススクリプトを念のため "3.5b2" のフォルダの物に変更しビルドしました。

----- ここからログ -----
#HSP script preprocessor ver3.5beta2 / onion software 1997-2015(c)
#Use file [hspdef.as]
#HSP code generator ver3.5beta2 / onion software 1997-2015(c)
#未初期化の変数があります(key)
#未初期化の変数があります(bsize)
#Code size (1854) String data size (206) param size (0)
#Vars (38) Labels (8) Modules (0) Libs (0) Plugins (1)
#No error detected. (total 2466 bytes)
use HSP3Dish mode.

"Compile thumb : TEST <= hsp_native_app_glue.c
"Compile++ thumb : TEST <= javafunc.cpp
jni/javafunc.cpp: In function 'void makePostParam(char*)':
jni/javafunc.cpp:314:53: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
jni/javafunc.cpp: In function 'void makePostParamPair(char*)':
jni/javafunc.cpp:336:43: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
jni/javafunc.cpp:336:43: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
jni/javafunc.cpp: In function 'int j_httpRequest(char*, char*, int)':
jni/javafunc.cpp:372:58: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
jni/javafunc.cpp:376:58: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
"Compile thumb : TEST <= main.c
"Compile++ thumb : TEST <= hsp3r.cpp
jni/hsp3embed/hsp3r.cpp: In member function 'int Hsp3r::Reset(int, int)':
jni/hsp3embed/hsp3r.cpp:75:71: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
"Compile++ thumb : TEST <= hspsource.cpp
jni/hsp3embed/hspsource.cpp: In function 'void __HspEntry()':
jni/hsp3embed/hspsource.cpp:118:30: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
jni/hsp3embed/hspsource.cpp: In function 'void L0001()':
jni/hsp3embed/hspsource.cpp:219:18: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
jni/hsp3embed/hspsource.cpp: In function 'void L0002()':
jni/hsp3embed/hspsource.cpp:549:21: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
StaticLibrary : libstdc++.a
SharedLibrary : libTEST.so
Install : libTEST.so => libs/armeabi-v7a/libTEST.so

----- ここまでログ -----

結果は前回と同じでした。



窓月らら

リンク

2015/10/23(Fri) 03:09:55|NO.72442

うちも最初に環境構築する際に同じような状況になりました。
各ツールの整合性が取れてないんかな。

とりあえず、以下のような簡単なコードで試してみてください。

#include "hsp3dish.as" setcls 1,$000000 repeat redraw 0 color 0,255,255: pos 100,100: mes "TEST MESSAGE" redraw 1 await 16 loop



OK

リンク

2015/10/23(Fri) 03:13:53|NO.72443

答えになってないかも知れませんが。
最近新しく構築する機会があって、しばらく
「みやんびさん」と同じようにbinにapkができない
現象にあっていたので、(今は動く)その時の
思い当たったことを羅列します。

・は、割りと気がついていた。
●は、案外盲点だった。
○は、良くわからない。

・jdkがJava8だった。→Java6にした。
・jdkが64bitだった。→32bitにした。
・AndroidSDKを先にインストールしていた。→Javaを先にいれた。
●各種フォルダ作成が間違えてた。→全部消して直した。
●SDKのインストールフォルダを自分で指定しなかった。→推奨フォルダにした。
○SDKLevelが17だった。→10にした。
・3dish helperの設定が間違えてた。→推奨設定にした。
○PCによってはHSP3.4でだめだった。→3.3.1にした。

以上が最近再構築で「binカラ」で困ってたことです。
参考になれば幸いです。
ちなみに
・jdkは6、jreは8でも大丈夫だった。
・今回のNDKは8です。



窓月らら

リンク

2015/10/23(Fri) 03:16:53|NO.72444

あと Windowsの環境変数 Path に、
\jdk と Android SDK の \build-tools\22.0.1(数字はバージョンによる)
を追加しておいてください。



みやんび

リンク

2015/10/23(Fri) 09:58:11|NO.72445

>窓月ららさん
>OKさん
何度もありがとうございます。

システム環境設定に
"C:\Program Files\Java\jdk1.6.0_45"
"C:\android\android-sdk\build-tools\23.0.1"
を追加して試しましたが結果同じです。
"build-tools" のフォルダ内にいくつか違うバージョンのものがありましたので
それも全て追加してみましたが、状況変わらずです。
ソースもサンプルのブロック崩しから、簡単なコードのものに変更してみましたが
やはり同じ結果となりました。



OK

リンク

2015/10/23(Fri) 14:16:22|NO.72447

プログラミングガイドでは確認住みの
NDKはr7r8r9と書いてありますし、r10でも
動いている人もいるので言いたくありませんでしたが、
ログを見るとNDKが悪そうです…

と言う言い訳をして私はこの件から身を引きます。
お力になれずすいません。



しまくろねこ

リンク

2015/10/23(Fri) 21:07:42|NO.72449

こんにちは。

憶測で申し訳ありません。
SDKフォルダは "C:/android/android-sdk" で問題ないかと思います。
この中の "platform-tools/adb.exe" や "tools/android.bat"を呼び出しているはずです。
設定したフォルダが間違っている場合でも環境変数が設定されていればビルドが実行されますが、設定したフォルダが正しければ特になくても大丈夫です。

原因の解消に繋がるかは定かではありませんが、"C:/Users/ユーザ名/AppData/Roaming/Hot Soup Processor" 内に
"go.bat" というバッチファイルがあります。
このファイルはプロジェクトをビルド時に出来るもの(だったような?)でこのファイルの中身を一度見てみてはいかがでしょうか?



zakki

リンク

2015/10/23(Fri) 21:16:12|NO.72450

Install : libTEST.so => libs/armeabi-v7a/libTEST.so
が成功した後は、しまくろねこさんのレスにあるgo.batでC:\android\TESTでant debugを実行しようとするはずです。
なのでant -versionで何もおきない状況だと多分駄目です。
環境変数の ANT_HOME JAVA_HOME CLASSPATH あたりに変な値が入ってないか気になります。



みやんび

リンク

2015/10/23(Fri) 23:00:35|NO.72456

>OKさん
何度もありがとうございます。
r10も過去ログを参照し試してみましたがやはり同じ結果でした。

>しろくまねこさん
ありがとうございます。
昨日、環境を再構築した際にSDKのフォルダを推奨とあわせる為に
"C:\android\android\android-sdk*windows"に変更しています。
ビルド後に "go.bat" が作成されていました。
その中身です。

----ここから----
@ECHO OFF
SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45
SET NDK_ROOT=C:\android\android-ndk-r9c
SET PATH=C:\android\apache-ant-1.9.6\bin;C:\android\android-sdk-windows\tools;C:\android\android-sdk-windows\platform-tools;C:\android\android-ndk-r9c;C:\Program Files\Java\jdk1.6.0_45\bin;%PATH%
C:
CD C:\android
CD TEST
ant debug
----ここまで----
何を意味しているのはわかりません。

>zakkiさん
ありがとうございます。
環境変数を見たところシステム環境変数には
"ANT_HOME" "JAVA_HOME" "CLASSPATH" はどれも存在していませんでした。

よろしくお願いします。



zakki

リンク

2015/10/24(Sat) 21:13:02|NO.72477

署名で問題は出ますが仮にJDK8u65だとどうなりますか?
もしそれでビルド自体は問題なければ、
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ..\hspapp.keystore bin\[プロジェクト名]-release-unsigned.apk hspapp
で手作業で署名する方法が使えます。



みやんび

リンク

2015/10/24(Sat) 21:46:27|NO.72480

>zakkiさん
ありがとうございます。

"jdk-8u65-windows-i586.exe" をインストールしてみました。
オプション設定を変更しプロジェクトを再作成しビルドを実行
しましたが、やはり結果は同じでした。



ONION software Copyright 1997-2021(c) All rights reserved.