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.