2016年6月27日月曜日

AVG アンチウイルス for Androidでの誤検出が解消されました

こちらの続報です。
AVG アンチウイルス for Androidにて、QRCodeWriterがマルウェアとして検出される件につきまして
ウィルス定義を最新にアップデートすると誤検出されなくなります。

AVGから正式に回答が来ました。

This is a follow up email sent with reference to the recently escalated issue where your app "biz.yojigenpoket.qrcodewriter" is detected as threat.

We'd like to inform that your app is falsely detected as a threat. This has been fixed currently by AVG.

2016年6月12日日曜日

McAfeeでのスキャンでは問題が無かったことのご報告

先日ご報告しました、当プロジェクトにて開発したアプリQRCodeWriterが
AVG アンチウイルス for Androidにて、マルウェアとして検出されることについての追加情報です。

> AVG アンチウイルス for Androidにて、QRCodeWriterがマルウェアとして検出される件につきまして

まず、Android版McAfeeにて端末スキャンを実施したところ、
QRCodeWriterが引っかかる事はありませんでした。
またAVGに対しては、アプリのヘルプ項目にある
"問題の報告またはご意見の送信"から、この事象について問い合わせ中です。

求められた情報は提供し、
We have escalated your issue to the concerned team for further analysis. You will be notified once your issue is resolved.
という返事を貰っている、というステータスです。

2016年6月10日金曜日

AVG アンチウイルス for Androidにて、QRCodeWriterがマルウェアとして検出される件につきまして

自身の端末において、AVG アンチウイルス for Androidにて、QRCodeWriterがマルウェアとして検出されました。
詳細(画像右)を見ても明確な理由がわかりません。

一つだけ気になっているのは、アプリのパッケージ名が間違っていること。
biz.yojigenpoket.qrcodewriter
じつはbiz.yojigenpocketの"c"が抜けています。
リリース後に気付いたのですが、公開後のパッケージ名の変更は不可能で
手段があるとすれば、パッケージ名を変更して公開する。
それは即ち、別アプリとして新たに公開する、ということになってしまいます。

なので、そのままにしているというのがパッケージ名間違いの理由です。

現時点ではこれが原因か、別の原因があるのか分かっていません。
早期に調査し、またAVGには誤検出の報告を上げたいと思います。

2016年5月22日日曜日

TegakiMemoのクラッシュレポートへの返信

TegakiMemoのクラッシュレポートが届いていました。

内容としては、一度強制終了となった後、
  • データが読み込まれない
  • 再度強制終了が起こる
というもの

原因がはっきりとしないのですが
ひとまずは対策をお伝えいたします。

対策は一度アプリをアンインストールし、再度インストールし直すことです。
アプリをアンインストールしてもメモ画像自体は消去されません。
なおかつ、アプリを初期起動する時にメモ画像を取得しデータを再構築するので
以前のデータをそのまま復帰できます。


クラッシュレポートには返信が出来ませんので、こちらにてお伝えさせていただきます。

以前書いた記事の訂正

以前書いた記事で
>これまで空文字列をチェックする際

>hoge == null && hoge.equals("")
>のような評価を行っていたが

>hoge.isEmpty()
>これで上述の式と同じ評価を行えることを知った。
>これはコードがスマートになっていい

このような記述をしたのですが、完全に誤りです。失礼しました。

hoge == null の時、hoge.isEmpty()はNullPointerExceptionとなります。
(バグを出して初めて気付いた・・・)
hoge == null && hoge.equals("") を一気に行いたい場合は org.apache.commons.lang3.StringUtilsのメソッド isEmptyを利用します。

StringUtils.isEmpty(hoge);
なおorg.apache.commons.lang3パッケージのクラスの利用にあたっては、org.apache.commons.lang3ライブラリをビルドパスに追加する必要があります。