Android Studio に入れておくとよい ライブラリバージョン検索 プラグイン「OK, Gradle!」

ライブラリの最新版を探すのに役に立ちそうな。

OK, Gradle! - Plugins | JetBrains

scana/ok-gradle: IntelliJ/Android Studio plugin for searching artifacts ids of popular Java libraries.

使ってみたけど、役に立つと思う。



動画のように、いろいろあるけど、

いちいち参照先探すのも面倒だから。


Genymotion 無料版 を入れる 2018

ちょっとした検証をドトールでやるとき、実機を出すのは面倒。

かといって公式エミュレータはいまいち感。

なので、ひさびさに入れてみました Genymotion。


Genymotion Android Emulator | Cloud-based Android virtual devices | Develop - Automate your tests - Validate with confidence

 

個人利用の無料版

公式サイトの分かりづらいとこにしれっとある。

上部の「Help」から、

「Genymotion Desktop」-「Fun Zone」

で。

ライセンスキーは不要。アカウント作成→ログインのみで無料利用可能。

Genymotion For Fun – Free Android Emulator (For Personal Use)

 

VirtualBox

「自分でいれなさい」とリンク付きダイアログで言われた。

Downloads – Oracle VM VirtualBox

入れるだけ。

 

GApps を入れる。

【本当に32ビット?】Android端末の CPU の ABI を特定する

「x86」で入れる。

The Open GApps Project

デバイスのイメージを作成後、開いた画面の上にドラッグ&ドロップ。

 

まとめ

以前他で入れていた VirtualBox の残骸などは一度アンインストールしたほうがネットワーク設定などをしなくていいので楽。

あと、Virtual Box を開いたままで Genymotion にログインしようとすると、ネットワークエラーでできない。

いくつか、他のエミュレータを試したがこれが一番なのは今も?

→ Android Studio エミュレータのネットワーク設定

中華のがよい? ⇣

継続する 5555/TCP ポート宛攻撃通信と ADB が有効化された脆弱な Android エミュレータについて


AndroidManifest.xml に Admob application ID の記述が必須になったとさ

こんなエラーメッセージ。


E/AndroidRuntime: FATAL EXCEPTION: main
    Process: ru.balumates.balu, PID: 4409
    java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException:

    ******************************************************************************
    * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers    *
    * should follow the instructions here: https://goo.gl/fQ2neu to add a valid  *
    * App ID inside the AndroidManifest. Google Ad Manager publishers should     *
    * follow instructions here: https://goo.gl/h17b6x.                           *
    ******************************************************************************


        at android.app.ActivityThread.installProvider(ActivityThread.java:6242)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5805)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5722)
        at android.app.ActivityThread.-wrap1(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: java.lang.IllegalStateException:

    ******************************************************************************
    * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers    *
    * should follow the instructions here: https://goo.gl/fQ2neu to add a valid  *
    * App ID inside the AndroidManifest. Google Ad Manager publishers should     *
    * follow instructions here: https://goo.gl/h17b6x.                           *
    ******************************************************************************


        at com.google.android.gms.internal.ads.zzmn.attachInfo(Unknown Source:17)
        at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(Unknown Source:3)
        at android.app.ActivityThread.installProvider(ActivityThread.java:6239)
        	... 10 more
Disconnected from the target VM, address: 'localhost:8600', transport: 'socket'

Google Mobile Ads SDK v17.0.0 以降で必須だと。

Google Ads Developer Blog: Announcing v17.0.0 of the Android Google Mobile Ads SDK

このことは、


implementation "com.google.firebase:firebase-ads:17.0.0"

も同じ。

以下、AndroidManifest.xml の必須記述。


<manifest>
  <application>
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-################~##########"/>

  </application>
</manifest>

Ad Manager や NativeAppInstallAd / NativeContentAd も注意が必要な模様。