Странно НПЭ: попытка чтения из поля 'ком.Гугл.андроид.ГМС.объявления.внутренние.клиента.о ком.Гугл.андроид.ГМС.объявления.я.а на null ссылка на объект
Я получаю этот странный NPE при запуске определенного действия в моем android-приложении.
java.lang.NullPointerException: Attempt to read from field 'com.google.android.gms.ads.internal.client.o com.google.android.gms.ads.i.a' on a null object reference 09-13 09:13:07.220 14820 14820 E AndroidRuntime: at dancam.com.chords.ChordsList.b.a(Unknown Source) 09-13 09:13:07.220 14820 14820 E AndroidRuntime: at dancam.com.chords.ChordsList.g.onClick(Unknown Source)
Как вы можете видеть отсюда, источник, кажется, неизвестен.
Это мой код для действия, вызывающего NPE:
public class ChordActivity extends Activity { ViewPager viewPager; PagerAdapter adapter; TextView name, note; CirclePageIndicator _indicator; ImageButton sound; boolean isPremium; static final String PREFERENCES = "prefs"; @Override public void onCreate(Bundle b){ super.onCreate(b); setContentView(R.layout.chord_layout); SharedPreferences settings = getSharedPreferences(PREFERENCES,0); isPremium = settings.getBoolean("status", false); /** gestisce le pubblicita */ if (!isPremium) { MobileAds.initialize(getApplicationContext(), "ca-app-pub-6723047396589178/2515152442"); AdView chordBanner = (AdView) findViewById(R.id.chord_banner); AdRequest adRequest = new AdRequest.Builder().build(); chordBanner.loadAd(adRequest); } Intent intent = this.getIntent(); Bundle bundle = intent.getExtras(); final Accordo selectedAccordo = bundle.getParcelable("selected"); viewPager = (ViewPager) findViewById(R.id.pager); adapter = new ChordPagerAdapter(ChordActivity.this, selectedAccordo); viewPager.setAdapter(adapter); _indicator = (CirclePageIndicator) findViewById(R.id.dot_indicator); _indicator.setViewPager(viewPager); name = (TextView) findViewById(R.id.chord_view_nome); note = (TextView) findViewById(R.id.accordo_view_note); name.setText(getResources().getString(selectedAccordo.getName())); //note.setText(selectedAccordo.getNote()); /** gestisce il pulsante: riproduci accordo*/ final MediaPlayer player = MediaPlayer.create(this, selectedAccordo.getSound()); sound.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { player.start(); } }); } }
Это то, что я понял до сих пор (я обновлю его, как только обнаружу другие вещи):
эта ошибка возникает только тогда, когда isPremium имеет значение true, поэтому объявления не загружаются
У кого-нибудь раньше была такая ошибка? что это значит? Калифорния, как я могу это исправить?
Я получаю этот странный NPE при запуске определенного действия в моем android-приложении.
Ява.яз.NullPointerException: попытка чтения из поля 'com.google.android.gms.ads.internal.client.o com.google.android.gms.ads.i.a' по ссылке на нулевой объект 09-13 09:13:07.220 14820 14820 E AndroidRuntime: at dancam.com.chords.ChordsList. b. a (неизвестный источник) 09-13 09:13:07.220 14820 14820 E AndroidRuntime: at dancam.com.chords.ChordsList. g. onClick(неизвестный источник)
Как вы можете видеть отсюда, источник, кажется, неизвестен.
Это мой код для действия, вызывающего NPE:
ChordActivity открытый класс расширяет активность {
ViewPager viewPager;
Адаптером PagerAdapter ;
Имя TextView, Примечание;
CirclePageIndicator _indicator;
Звук ImageButton;
логическое isPremium;
статические заключительные строки предпочтений = "префов";
@Ручная коррекция
public void onCreate(Bundle b){
супер.метод onCreate(б);
setContentView(R. layout.chord_layout);
SharedPreferences settings = getSharedPreferences(PREFERENCES, 0);
isPremium = settings. getBoolean ("status", false);
/ * * gestisce le pubblicita */
если (! isPremium) {
Мобильная рекламная сеть mobileads.инициализировать(getApplicationContext(), "СА-приложения-паб-6723047396589178/2515152442");
AdView chordBanner = (AdView) findViewById(R. id.chord_banner);
AdRequest adRequest = новый AdRequest.Строитель().построить();
chordBanner. loadAd(adRequest);
}
Намерение намерение = это.так();
Пачка пачка = намерениях.getExtras();
окончательный Accordo selectedAccordo = пачке.getParcelable("избранные");
viewPager = (ViewPager) findViewById(R. id. pager);
adapter = new ChordPagerAdapter(ChordActivity. this, selectedAccordo);
viewPager. setAdapter(адаптер);
_indicator = (CirclePageIndicator) команду findViewById(Р. ИД.dot_indicator);
_indicator.setViewPager(viewPager);
имя = (виджет TextView) findViewById, чтобы найти(ИД Р..chord_view_nome);
внимание = (виджет TextView) findViewById, чтобы найти(ИД Р..accordo_view_note);
name.setText(getResources (). getString(selectedAccordo.getName()));
//Примечание.помощью setText(selectedAccordo.getNote());
/ * * gestisce il pulsante: riproduci accordo*/
окончательный медиаплеер плеер = медиаплеер.создать(это, selectedAccordo.getSound());
sound. setOnClickListener(новый вид.OnClickListener() {
@Ручная коррекция
общественного недействительными onclick(посмотреть V) {
плеер.начать();
}
});
}
}
Это то, что я понял до сих пор (я обновлю его, как только обнаружу другие вещи):
эта ошибка возникает только тогда, когда isPremium имеет значение true, поэтому объявления не загружаются
У кого-нибудь раньше была такая ошибка? что это значит? Калифорния, как я могу это исправить?
это моя сборка.:
apply plugin: 'com.android.application' android { compileSdkVersion 24 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.dancam.chords" minSdkVersion 21 targetSdkVersion 24 versionCode 8 versionName "1.0" } buildTypes { release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.android.support:recyclerview-v7:24.2.0' compile 'com.github.JakeWharton:ViewPagerIndicator:2.4.1' compile 'com.google.firebase:firebase-ads:9.4.0' compile 'com.google.firebase:firebase-invites:9.4.0' compile 'com.google.firebase:firebase-crash:9.4.0' } apply plugin: 'com.google.gms.google-services'
Что я уже пробовал:
Я попытался отключить proguard и воспроизвести тест. Это не работает, это вывод logcat:
09-13 11: 42: 28.264 26502 26502 E AndroidRuntime: Тема: темы: {com.google.android.googlequicksearchbox = overlay: system} 09-13 11: 42: 28.264 26502 26502 E AndroidRuntime: java.lang.NullPointerException: Attempt для чтения из поля com.google.android.gms.ads.internal.client.o com.google.android.gms.ads.ia по ссылке на нулевой объект 09-13 11:42: 28.264 26502 26502 E AndroidRuntime: на dancam.com.chords.ChordsList.ba (Неизвестный источник) 09-13 11: 42: 28.264 26502 26502 E AndroidRuntime: на dancam.com.chords.ChordsList.g.onClick (Неизвестный источник) 09-13 11:42: 28.264 26502 26502 E AndroidRuntime: в android.view.View.performClick (View.java:5204) 09-13 11: 42: 28.264 26502 26502 E AndroidRuntime: в android.view.View $ PerformClick.run (View.java:21158 ) 09-13 11: 42: 28.264 26502 26502 E AndroidRuntime: at android.os.Handler.handleCallback (Handler.java:739) 09-13 11: 42: 28.264 26502 26502 E AndroidRuntime: at android.os.Handler.dispatchMessage (Handler.java:95) 09-13 11: 42: 28.264 26502 26502 E Android в android.os.Looper.loop (Looper.java:148) 09-13 11: 42: 28.264 26502 26502 E AndroidRuntime: в android.app.ActivityThread.main (ActivityThread.java:5461) 09-13 11:42: 28.264 26502 26502 E AndroidRuntime: в java.lang.reflect.Method.invoke (собственный метод) 09-13 11: 42: 28.264 26502 26502 E AndroidRuntime: в com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit. java: 726) 09-13 11: 42: 28.264 26502 26502 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) 09-13 11:42: 28.266 18150 18649 W ActivityManager: Force завершающая деятельность com.dancam.chords / dancam.com.chords.ChordsList.ChordsListActivity