2013-05-22 11 views
5

Mam projekt biblioteki Androida, do którego odwołuje się projekt aplikacji. Projekt biblioteki ma niestandardową klasę rozszerzającą klasę podstawową Application, w której dokonałem pewnych inicjalizacji. Problem polega na tym, że tej klasy nie wywołuje się automatycznie, mimo że poprawnie ją zarejestrowałem w pliku manifestu projektu bibliotecznego. Próbowałem nawet nazywać to przy użyciuNiestandardowa klasa aplikacji w projekcie bibliotecznym

Ale to daje mi wyjątek wskaźnika pustego.

Co myślę, że klasa aplikacji nie zostanie automatycznie wywołana w projekcie biblioteki. Jeśli to prawda, to jaki jest lepszy sposób na wywołanie go ręcznie z w projekcie biblioteki?

+1

Zarejestruj klasę aplikacji w manifeście projektu aplikacji. – Rajesh

+0

Dziękuję, zadziałało. –

Odpowiedz

7

Jest to ograniczenie projektów bibliotek Androida. Plik AndroidManifest.xml projektu biblioteki jest skutecznie ignorowany w projekcie korzystającym z tej biblioteki.

Dlatego w manifeście aplikacji końcowej należy umieścić dowolne <activity>, <service> i inne podobne znaczniki.

+0

Dziękuję za odpowiedź. więc jak mogę zarejestrować moją klasę aplikacji projektu biblioteki w aplikacji końcowej. Problem polega na tym, że używam API raportowania błędów ACRA, który używa klasy Application. –

+3

Ustaw "android: name =" com.example.MyApplicationClass "' w manifeście aplikacji końcowej. Może odwoływać się do dowolnej podklasy Aplikacji, w tym jednej zdefiniowanej w bibliotece. –

+0

Dziękuję bardzo! zadziałało. ale czy oznacza to, że aplikacja końcowa nie będzie mogła używać własnej klasy aplikacji? –

Powiązane problemy