Uygulama sınıfını Manifest'te kaydettirmek mi istiyorsunuz?


189

Uygulamamın genel durumunu korumak için bir Application sınıfım var. Ama bunu Manifest dosyasına kaydedemiyorum? Bunun nasıl yapılacağı hakkında bir fikrin var mı?

Yanıtlar:


346

Uygulamadan geliyorsa android:name, bildiriminizdeki uygulama öğesinin parametresi olarak tam olarak nitelenmiş (ad alanı + sınıf adı) ekleyin.

<application
        android:name="com.you.yourapp.ApplicationEx"

Sınıfının paketi göre olarak tanımlanabilir Ya packageiçinde manifestetiketi, o zaman sadece bir ile başlar .:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.you.yourapp">

    <application
        android:name=".ApplicationEx"

2
Belgelerde "tam ad" yazıyor. Ben bir kez bu kelimenin tam anlamıyla yorumlayan ve nispeten belirtilirse, uygulama sınıfı bulmaya çalışırken çalışmayan bir üçüncü taraf aracı yaşadım. Sadece bir uyarı.
— Jens Vesti

13

ancak branch.io'nun kütüphanesi gibi bir kütüphaneyi zaten kullanıyorsanız, muhtemelen manifestiniz

<application name="">

mülkün zaten bir adı olacak

`<application name="io.referral.BranchApp">

bu durumda önce aşağıdaki gibi uygulama sınıfınızı genişletmeniz gerekir:

public class Application extends BranchApp

ve sonra uygulamanızı manifest'te şu şekilde kaydedin:

android:name="absdevelopers.com.brankreferal.Application"

Bu benim için mükemmel çalışıyor :) umarım belada birine yardımcı olur :)


Bu yanıtı yazdım bir süre oldu ama aynı anda branch.io ve clevertap eklemek isterseniz ne olur. Manifest'te isim etiketi ile nasıl başa çıkacağım karışıyor. lütfen bana yardım edin.
— jitendra purohit

7

Eğer bir MultiDex uygulaması kullanıyorsanız zaten "android: name" kullanımda olacak, bunun yerine uzatın android.support.multidex.MultiDexApplication:

public class MyApplication extends MultiDexApplication {...}

Ve Android bildirimine ekleyin:

android:name="app.package.MyApplication"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.