Я разработал Android-приложение с libGDX и добавил Admob к нему, но когда я открываю APK на Android, он падает, заявляя, что процесс остановлен.Crash on open приложения для Android с AdMob
Вот мой код в Android-проекте.
public class MainActivity extends AndroidApplication{
protected AdView adview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.useGL20 = true;
final TelephonyManager tm =(TelephonyManager)getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
String deviceid = tm.getDeviceId();
RelativeLayout layout = new RelativeLayout(this);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
setContentView(graphics.getView(), createLayoutParams());
View gameview = initializeForView(new BalloonBreakout(), false);
adview = new AdView(this);
adview.setAdSize(AdSize.BANNER);
adview.setAdUnitId("ca-app-pub-6258330641042393/6188790266");
adview.loadAd(new AdRequest.Builder().addTestDevice(deviceid).build());
RelativeLayout.LayoutParams adparams = new RelativeLayout.LayoutParams(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()/14);
adparams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
adparams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
layout.addView(gameview);
layout.addView(adview, adparams);
setContentView(layout);
}
}
Я не уверен, почему это сбой, любая помощь будет принята с благодарностью.
UPDATE:
У меня есть журнал ошибок, но я не знаю, почему я получаю нулевой указатель.
E(3875) Caused by: java.lang.NullPointerException (AndroidRuntime)
E(3875) at com.sevenbit.Balloon_Breakout.MainActivity.onCreate(MainActivity.java:37)(AndroidRuntime)
Line 37:
setContentView(graphics.getView(), createLayoutParams());
Однако, когда я удалил эту строку, я до сих пор есть нулевой указатель на том же месте, линия 37.
Любые идеи?
Пожалуйста, разместите всю трассировку стека исключений, в том числе часть «Caused by:». Это важно. Кроме того, вы можете просто скопировать/вставить его здесь вместо того, чтобы фотографировать свой экран. Просто используйте 4 пробела перед каждой строкой, чтобы сделать блок кода. – BVB