アフィリエイト広告を利用しています
検索
言葉を集めて世界を旅するRPG「地図の時間〜言葉集めの冒険譚〜」
timeofmapworks_logo_2020.png
ハートフルRPG「地図の時間」

地図の時間スピンオフRPG「影泥棒と魔法の手記」

リソース管理ダンジョンRPG「琥珀の道具士」

現代SFRPG「重力ルーペ/探求リバーブ」

ドラマティックRPG「バンドワゴン」

ビジュアルノベル「日向と香水」

ノベル×ADV「ストーリーテラー」 title1_2.png
カテゴリ
プロフィール/制作環境(3)
制作記(736)
ニュース(ツクールMV)(222)
技術情報(ツクールMV)(204)
JavaScript/スクリプト(ツクールMV)(9)
プラグイン情報(ツクールMV)(12)
素材情報(ツクールMV)(15)
アップデート情報(ツクールMV)(45)
トラブル&解決情報(ツクールMV)(18)
ツクール製作品(ツクールMV)(42)
関連情報(ツクールフェス)(2)
投稿イベント情報(ツクールMV)(4)
関連情報(ラノゲツクールMV)(9)
Benchmark MV(個人作品:試作)(1)
manurpg(個人作品:試作)(2)
ブックモービル(個人作品)(10)
重力ルーペ(個人作品)(11)
そして魔女に会う(個人作品)(7)
バンドワゴン(個人作品)(1)
地図の時間(個人作品)(14)
日向と香水(個人作品)(3)
ストーリーテラー(個人作品)(1)
嘘つきのノブレスオブリージュ(2)
お役立ちツール/素材サイト(創作全般)(12)
創作アイディア(創作全般)(7)
保存用コラム(創作全般)(10)
コラム(144)
オススメ作品(8)
当ブログへのお問い合わせ(contact me)(2)
琥珀の道具士(3)
最果てのギルド(1)
読書メモ(1)
Steam展開ノウハウ(21)
RPGツクールMZ(3)
地図の時間〜名前探しの物語(1)
プラグイン情報(ツクールMZ)(1)
技術情報(ツクールMZ)(13)
国内展開ノウハウ(1)
素材情報(ツクールMZ)(4)
AI(9)
RPG Maker Unite(2)
DAW(1)
翻訳(1)
リンク集

2016年07月24日

Androidアプリ出力時のUnicodeDecodeError: 'utf-8'の場合の対処

◆Androidアプリ出力時のUnicodeDecodeError: 'utf-8'の場合の対処

参考:
ツクールMVで作成したプロジェクトをAndroid用apkファイルに出力する手順
https://fanblogs.jp/tabirpglab/archive/155/0

■切り分け1
Androidアプリ出力時に次のエラーが発生した場合、ファイル名にマルチバイト文字(空白、スペース、全角文字)が含まれていることが原因の1つとしてあるようです。

20160427-57.jpg

■エラーメッセージ
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8e in position 0: invalid
start byte

■対処
該当のファイル名を探すツールとして、こちらが大変役立ちました。

[ツール]
マルチバイト文字を含むファイル・フォルダ名を検出
作者:よたろー 様
ダウンロード先:
http://www.vector.co.jp/soft/winnt/util/se499525.html

■切り分け2
私の場合、切り分け1でも解決しませんでした。
その他確認したのは
新規プロジェクトを作成、Androidアプリとしてデプロイメントしたファイルで試す
→全く同じエラーが再現
つまりWindowsおよびインストールしている環境にエラー原因があるようです。

20160621.jpg

これを読む限り、エラーを返しているのはcrosswalkフォルダ内のutil.pyの47行目。

■切り分け3
crosswalkの別バージョンをインストールすることにしました。
ツクールMVのヘルプには次のような記述があります。

****************************************************
2-5 Crosswalk ProjectのAndroidアプリテンプレートをダウンロード
Crosswalk Projectはインストールを必要としません。ダウンロードしたZIPファイルを好きな場所に展開します。ダウンロードしたファイルの中にはブラウザエンジンや、パッケージングスクリプトが含まれます。
https://download.01.org/crosswalk/releases/crosswalk/android/stable/より、Androidアプリテンプレートのstable(安定)版をダウンロードします。バージョンが14までありますが、10.39.235.16が安定しています。
****************************************************

よって「10.39.235.16」をダウンロードして、出力実行時のコマンドも「10.39.235.16」のmake_apk.pyを参照するようにしました。
しかし結果は全く同じ文面のエラーが発生しました。
つまりcrosswalkを扱うpython側、もしくはwindows側のコンポーネントに問題があるのかもしれません。

■考察
私の環境は次の通りです。

・デスクトップPC
OS:Windows8.1 Professional(64bit)
CPU:AMD A8-5600K 3.6G
メモリ:8GB DDR3-1600 DIMM(4GB×2)
HDD:500GB HDD(SATA/7200rpm)
グラフィック:NVIDIA GeForce GTX750Ti 2GB

同じ環境でも2016/2時点では成功して、2016/5時点で失敗するようになった差分はOS構成の変化なのでしょう。
ちなみに2016/6/21現在ではOSはWindows10Home(64bit)に変更しました。

この件、気になるので、時間がある時に海外情報なども含めて調べてみます。

【2016/6/25追記】
■切り分け4
2016/2時点でApp出力が行えたデプロイメントファイル(GooglePlayで公開中のブックモービルというアプリ)でも全く同エラーが再現しました。

[試したこと]
UTF-8で読み込まれていない問題と思い、次のサイト様を参考にsite-packagesディレクトリへsitecustomize.pyを作成し、UTF-8を指定しました。

http://d.hatena.ne.jp/shu223/20111201/1328334689
http://yukihir0.hatenablog.jp/entry/20110131/1296478348

[私の場合のディレクトリ]
C:\Python35\Lib\site-packages

インタラクティブシェル?でもutf-8を確認
20160617-18.jpg

しかしエラーは回避しませんでした。

【2016/7/24追記】
■切り分け5
他のクリエイター様の成功環境を元に環境に変化をつけてみました。

参考:Androidアプリの生成について(ツクマテ様)
http://tm.lucky-duet.com/viewtopic.php?t=1522

[成功した環境]
Windows 10 64bit
Python34
jdk180_92
apache-ant-1.9.7
Android SDK manager 25.1.7
crosswalk-10.39.235.16

[失敗している環境(私)]
Windows 10 64bit
Python35(3.5.1)★成功例はPython34、2016/7/24現在の最新バージョンはPython35(3.5.2)
jdk180_101★成功例より新しいバージョン
apache-ant-1.9.6★成功例より古いバージョン
Android SDK manager 24.4.1★成功例より古いバージョン
crosswalk-10.39.235.16★同じ(ヘルプでも推奨されている)

[考え]
・動作実績のある成功例と同じバージョンにすることで解決に近づく可能性が上がる
不具合修正の観点で考えると、最新バージョンで回避できるならそれが一番いい
・Pythonとcrosswalkを活用した処理でErrorが発生している?

[試したこと]
1.Pythonのバージョンアップ
Python35の最新版3.5.2がリリースされていたのでアップデートしてみました。

結果:エラー内容変わらず。

2.Android SDKのバージョンアップ(24.4.1→25.1.7)
Android SDK Toolsを 24.4.1から25.1.7にバージョンアップしてみました

Android SDK Managerを起動
Android SDK ManagerからUpdate対象のファイルを選択(今回はAndroid SDK Tools)、「Install[インストール数]packages」をクリック
20160617-175.jpg

結果:エラー内容変わらず。
20160617-176.jpg

3.Pythonのバージョンダウン(35系→34系)
成功例で動作確認のとれているPython34へバージョンダウンしてみました。

Windows版Python3.4.4
https://www.python.org/downloads/release/python-344/

以前はPython35系だったので新たにPython34というフォルダが生成されていました。
そのため、システム環境変数を追加しておきます。
また念のため、Python35のシステム環境変数を削除しておきました。
※追加方法は公式ヘルプ2-1-2 パスの設定・確認の項を参照
20160617-177.jpg

結果:エラー内容変わらず。
20160617-178.jpg

4.apache-antのバージョンアップ(1.9.6→1.9.7)
成功例で動作確認のとれている1.9.7へバージョンアップしてみました。

ダウンロード先:
http://ant.apache.org/bindownload.cgi

また1.9.6から1.9.7へとシステム環境変数を修正しておきます。

結果:エラー内容変わらず。
20160617-179.jpg

5.site-packagesディレクトリへsitecustomize.pyを作成し、UTF-8を指定

http://d.hatena.ne.jp/shu223/20111201/1328334689
http://yukihir0.hatenablog.jp/entry/20110131/1296478348

[私の場合のディレクトリ]
C:\Python34\Lib\site-packages

結果:エラー内容変わらず。

[切り分け案]
1.Windowsを再インストールして最小限のアプリケーションだけをインストールした状態でどうか
※すぐに制作環境を崩すことは難しいのでそれならばPC1台用意したいところ
2.別ツールのCordovaでapkファイル化

参考:
PRESENT CALL様
RPGツクールMV作品をスマホアプリにする方法-1
http://presentcall.com/rpg%E3%83%84%E3%82%AF%E3%83%BC%E3%83%ABmv%E4%BD%9C%E5%93%81%E3%82%92%E3%82%B9%E3%83%9E%E3%83%9B%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95-1/

今後は2のCordovaを使う方法で進めてみます。
まとまった時間が取れ次第確認して記事にする予定です。

【2016/7/25追記】
Cordovaを使う方法でapkファイルの出力に成功しました。

参考:
RPGツクールMV向けCordovaを使ったApkファイル出力
https://fanblogs.jp/tabirpglab/archive/540/0
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/5024967
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック