バージョンは同じなのに、端末によってファイルの移動(renameTo())に失敗してしまうことがあって悩まされたが、オチは移動先のファイル名にクエスチョンマーク(“?”)が含まれていたことが原因だった。クエスチョンマークが入ってしまっていたこと自体がバグだったのだけれど、そもそも何で端末によってこのようなことが起きるのかを軽く追ってみた。原因はファイルシステム(っぽい)成功する端末では内部ストレージに書き込みを行っており、失敗する端末では外部ストレージに書き込みを行っていた。ファイル名に以下の文字の使用を禁止しているようなので、恐らくこれが原因っぽい。試しにその他の記号を含めたファイル名を作成してみたところ、全て失敗した。ファイル名とフォルダ名で使用できない文字というわけで、環境によって(サンプル数は少ないが、恐らく外部SDカードでは)一部の記号がファイル名に使えなくなることがある、ということが分かった。ファイルシステム周りについては全く調べられていないが、いくつか気になることがあったのでメモ。