Thanks, that does indeed fix the problem. Actually, I found that solution a few hours ago by browsing around in the device tree sample inside the sources. The sample files contain an overlay file that does exactly the same. To keep in line with the sample, I also made the change inside the device tree at
. Or, @bariz143
, for the Nexus 5 that file should be
I did not, however, find a detailed explanation of what is actually going on here and why it doesn't work out of the box, so I tried to figure it out myself, mainly from the comments in that sample file and some googling around. I am recording my findings here because I believe it will help other Android n00bs like myself.
Apparently, the network location provider is not part of AOSP, but instead is distributed together with the Google Apps. To get network location to work, you need to tell the framework that it is OK to use location providers provided by Google. It does not do that by default, because they (obviously!) are signed with a different key than the one used to sign the AOSP you just built. So, by adding
into config.xml, you are telling the framework that it's OK to use location providers that are signed with the same key as the APK that provides the
app, which apparently is the app that contains the network location provider.