以下の内容は鮮度もののネタですので修正されている可能性があります。
該当する方には影響でかそうなので投稿しておきます。
該当する方には影響でかそうなので投稿しておきます。
Android2.3.xやあとHTC製のAndroid4.0.xで
java.lang.NoClassDefFoundError: android/os/AsyncTask
とかのエラーレポートが大量に上がってきていて困っている開発者の方。
Admob使っていたらばバグでございます。
https://groups.google.com/forum/#!topic/google-admob-ads-sdk/_x12qmjWI7M
フォーラムを見るとサービス側の担当者なのか仲介者なのか分かりませんがその方が確認したところ
・Android2.3.xでは全ての端末
・Android4.0.xではHTC製の端末
で起きていると言っております。。。
フォーラムを見るとサービス側の担当者なのか仲介者なのか分かりませんがその方が確認したところ
・Android2.3.xでは全ての端末
・Android4.0.xではHTC製の端末
で起きていると言っております。。。
んでアプリ内にAsyncTaskとかの非同期系つかわなければエラーってない模様。
なお、問題の確認ですがエミュレーターではエラーが発生しません。
なのでエミュで確認しても意味ないです。エミュレーターではエラーが発生しません。
大事なことなので2回いいました。
なお、問題の確認ですがエミュレーターではエラーが発生しません。
なのでエミュで確認しても意味ないです。エミュレーターではエラーが発生しません。
大事なことなので2回いいました。
あと、上のフォーラム私もやりとりしてますがメディエーション使わない場合は改善されたもようかも。
さて本題。
とりあえず回避策としてApplication.classを継承して以下をonCreate時にいれマニフェストへ登録することでなんとか回避できる。
とりあえず回避策としてApplication.classを継承して以下をonCreate時にいれマニフェストへ登録することでなんとか回避できる。
あと絶対に最新のgooglePlayserviceライブラリにはすること(他にもバグがありそれも改善してる模様)。
*作りによって改善できてない人もいるみたいかも。。
try
{
Class.forName("android.os.AsyncTask");
}
catch(Throwable ignored)
{}
自分の場合は以下のようにAdView読み込むActivityに挿入して動作することを確認。
いまんとこ最新のバージョンでクラッシュレポートはきていない。
public void onCreate(Bundle savedInstanceState) {
try {
Class.forName("android.os.AsyncTask");
} catch(Throwable ignore) {}
super.onCreate(savedInstanceState);
//各処理
}
こないだブログにもかいたけど、フォーラムみると影響でかいかも。
一週間で10000クラッシュとか広告表示が10%落ちとかって。。。
2週間近くたってもまだ直ってないよ!
まぁ起きたものはしょうがないのでおいといて。
まじめな話言いたいのは。
とりあえずサービス側は認識しているならちゃんと広報してほしいんですけど。
あ、実機ねぇ確認したいけどできないって方向けにフォーラムでこちらが紹介されてます。ただし試用版だと制限時間とかいろいろあるみたい。
https://appthwack.com
一週間で10000クラッシュとか広告表示が10%落ちとかって。。。
2週間近くたってもまだ直ってないよ!
まぁ起きたものはしょうがないのでおいといて。
まじめな話言いたいのは。
とりあえずサービス側は認識しているならちゃんと広報してほしいんですけど。
あ、実機ねぇ確認したいけどできないって方向けにフォーラムでこちらが紹介されてます。ただし試用版だと制限時間とかいろいろあるみたい。
https://appthwack.com