Reputation: 6242
I am looking at source code for the PackageManager
class and it is abstract as well as all the methods. Are manufacturers supposed to write a real implementation for it, or I am missing something?
Upvotes: 8
Views: 4975
Reputation: 559
For anyone stumbling upon this old question, go to the source (android.googlesource.com
) https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/pm/PackageManagerService.java, grepcode is long gone.
Upvotes: 2
Reputation: 3887
It is ApplicationPackageManager
, and it is created in ContextImpl.getPackageManager()
.
Upvotes: 6
Reputation: 272
The real implementation for the PackageManager is PackageManagerService located at frameworks/base/services/java/com/android/server/
You can find the source code here in the GrepCode.
Upvotes: 9
Reputation: 36484
PackageManager
is abstract and a concrete implementation needs to be provided in order to invoke instance methods. An implementation of this class can be found as a package private static class of ApplicationContext
which itself is available in ContextImpl
. (For source code see here). Note that this implementation of PackageManager is final and so cannot be overriden.
There is also a MockPackageManager implementation that might interest you.
Upvotes: 7