You'll have to place the map files on the SD card and access them as described in GettingStartedMapView.
One of the mapsforge developers answers a similar question on mapsforge-dev
Google Groups explaining why map files can not be placed inside the app (i.e. in the assets
or res
folder):
[...] The problem is, that a
java.io.RandomAccessFile
instance is needed in order to read the map
data from a binary map file. Just having an InputStream
is not enough,
as it doesn't have a seek()
method. Calling skip(n)
is not the same.
In worst case all n bytes will be read, which is not an option for
huge map files.
Unfortunately, Android does not offer seekable file access on
resources. That is due to the way all resource files are packaged and
compressed into one .apk
file. A quick Google search reveals that many
other people are having the same problem. One work around may be to
copy the file to the SD card or internal phone filesystem when your
application is started for the first time. See:
http://groups.google.com/group/android-developers/browse_thread/thread/59b6bf70ca6d2081
But depending on the file size, this copying process may take a longer
time. Having map files bundled with your application will also
increase the size of your APK file a lot. Another disadvantage is that
the map file can no longer be updated separately or copied to other
devices.