Android Stadio3.4.1でビルドエラー LocationAwareException, Multip…

AndroidStadioを3.4.1にアップグレードして、既存のプロジェクトをビルドしたところエラーが発生... Clean BuildやRebuild Projectしてもダメ... バージョン情報 エラー情報 org.gradle.internal.exceptions.LocationAwareException: Execution failed for task ':app:compileDebugJavaWithJavac'. at org.gradle.initialization.exception.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:99) at org.gradle.initialization.exception.DefaultExceptionAnalyser.collectFailures(DefaultExceptionAnalyser.java:65) at org.gradle.initialization.exception.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:39) at org.gradle.initialization.exception.StackTraceSanitiz…

続きを読む

AdMob広告が表示されない(されなくなった)

先日新規にアプリを開発していて、首記の事象が発生し、とても困ったので書き記しておきます。なお、一応解決はしましたが原因は分かっていません。。 事象と経緯 アプリにAdMob広告を入れてリリースビルドしたとき、必ず一度は本番用の unit_id で実際の広告を確認してからリリースするようにしているのですが(心配性なので)、待てども待てども広告が表示されません。 PCにつないでLogcatを確認したところ、以下のようなログが出力されていました。 I/Ads: Use AdRequest.Builder.addTestDevice("XX") to get test ads on this device. W/Ads: App does not have the required permissions to get location I/Ads: SDK version: afma-sdk-a-v15090021.12211000.1 I/Ads: Ad failed to load : 3 どうやら広告のloadに失敗しているようです。が、Ad failed to load : 3 が何を意味しているのか、直前に出ているAdsのログが何か関係しているのか、小一時間調べましたが全く分かりませんでした。。 ここであることに気づく これまでにリリースしているアプリもいくつか広告が表示されなくなっているものがあることに気づきました。 「もしやAd…

続きを読む

AndroidのリリースビルドでTry supplying a main-dex list.

新規作成したプロジェクトでいざ本番ビルドしたところ以下エラーが発生 Compilation failed to complete Cannot fit requested classes in a single dex file. Try supplying a main-dex list. # methods: 66945 > 65536 Message{kind=ERROR, text=Cannot fit requested classes in a single dex file. Try supplying a main-dex list. # methods: 66945 > 65536, sources=[Unknown source file], tool name=Optional.of(D8)} 64K以上のメソッドがある場合、multiDexEnabledの設定を有効にする必要がある。 (プロジェクトを新規作成したばかりの初期状態でこの条件を満たしているが…) app/build.gradle android { compileSdkVersion 28 defaultConfig { applicationId "example.com.buildtest" minSdkVersion 15 targetSdkVers…

続きを読む

setTextでNotFoundException!

Androidのコーディングについての話です。 同じ処理でも書き方次第で構文エラーになるケースと実行時エラーになるケースがあり、少し嵌ってしまったのでまとめておきます。 例えば TextView に番号を表示するプログラムがあるとします。 以下のコードは構文エラーとなり、そもそも実行することができません。 ((TextView) findViewById(R.id.textHello)).setText(1); これはまあ理屈としては分かります。 引数の型が違うので当然といえば当然です。 と、このときは思っていました。 しかし、以下の書き方では構文エラーにはなりません。 int i = 1; ((TextView) findViewById(R.id.textHello)).setText(i); 正常にビルド可能ですが実行時エラーとなります。 これを実際に実行してみると以下のようなエラーが出ます。 Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x1 at android.content.res.Resources.getText(Resources.java:338) at android.widget.TextView.setText(TextView.java:5494) こ…

続きを読む

WebViewのLoad処理でnet:ERR_CACHE_MISSが発生

この問題はパーミッションが足りていないだけで、AndroidManifest.xml に以下を追加するだけで解消します。 <uses-permission android:name="android.permission.INTERNET" /> net:ERR_CACHE_MISSというエラーではPermissionの問題だとピンと来ずに少し嵌りかけたのでメモしておきます。

続きを読む

スポンサーリンク