The constructor AdRequest() is not visible
Android SDK Managerを利用して、環境をアップデートしたところ、Admobを利用している箇所で
The constructor AdRequest() is not visible
となってしまい、エラーが表示されるようになりました。
AdRequest request = new AdRequest();
こういうところでコンストラクターが見れませんよ、ということになってしまったのです。
色々なことをやってみましたが、治りませんでした。
確かに、Adrequestのコンストラクタがprivateになっていました。
GoogleAdMobAdsSdk-6.4.1.jar内の
public final class com.google.ads.AdRequest で
private AdRequest();
でした。
結局、今直せていないのですが、どなたか修正の情報がありましたら、教えてください。
後日談
この後、Runもできないようになって
Conversion to Dalvik format failed: Unable to execute dex SDK Tools 22.3
ってエラーも出るようになっちゃったんですよ。
下記のStack Overflowさんに
http://stackoverflow.com/questions/19734152/conversion-to-dalvik-format-failed-unable-to-execute-dex-sdk-tools-22-3
However, the newest Google Play library includes ads and my guess would be that you are including both Admob and Google Play Services which apparently contain the same classes. In that case you should migrate your code to use the Google Play Service ads and remove the admob jar from your project.
とありまして、つまりGoogle PlayにAdmobが入ったので、Google Play Libraryを読み込んでいると、この衝突が起こるのではということでした。
ということは、
AdRequest request = new AdRequest();
が見られないのも、Google Play Servicesのせい?
確かに、Google Play Serviceの中にAdRequestあるわ…。
https://developer.android.com/reference/com/google/android/gms/ads/AdRequest.html
com.google.android.gms.ads.AdRequest の中に入っているようです。
…結局弊社では、Admobで大した収入がないので、一旦Admob使わないという方針にしましたが、Admobを新しいGoogle Play Service内のクラスを利用するようにすれば、治るのかもね。
それにしても、ほんっとGoogleさんにはこういうのやめてほしいです