we are currently developing a phonegap application for iPhone and
Android devices.
So far everything worked really well.
One "speciality" of our app is, that we are providing tiles for
OpenLayers - a map library pretty similar to Google Maps.
These tiles (effectively png pictures) are stored inside our www
directory - the directory itself contains a lot of files and is huge -
around 700MB in our case.
Our setup works without any problems on iOS.
But it does not work on Android. APK generation works, but the
emulator tells me something like "cannot read Android Manifest" - and
when I deploy the APK on a real device it tells me "error while
parsing file" (both 2.3.3 Api level 10 - errors attached below).
The interesting ting is: when I remove the tiles folder - the Android
app works without any problems. So I am assuming that our setup is
fine - in principle - and the problem comes from the tiles folder.
The error message I am getting from the Android Emulator are not
really helpful (attached below).
Is there a known issue related to amount / size of files inside the
www directory of Android devices?
Thanks,
Best,
Raphael
D/SntpClient( 60): request time failed: java.net.SocketException:
Address family not supported by protocol
D/AndroidRuntime( 291):
D/AndroidRuntime( 291): >>>>>> AndroidRuntime START
com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime( 291): CheckJNI is ON
D/AndroidRuntime( 291): Calling main entry com.android.commands.pm.Pm
I/ActivityManager( 60): Start proc com.android.defcontainer for
service com.android.defcontainer/.DefaultContainerService: pid=299
uid=10003 gids={1015, 2001}
W/PackageParser( 299): Unable to read AndroidManifest.xml of
/data/local/tmp/liveum-droid.apk
W/PackageParser( 299): java.io.FileNotFoundException: AndroidManifest.xml
W/PackageParser( 299): at
android.content.res.AssetManager.openXmlAssetNative(Native Method)
W/PackageParser( 299): at
android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:486)
W/PackageParser( 299): at
android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:454)
W/PackageParser( 299): at
android.content.pm.PackageParser.parsePackageLite(PackageParser.java:601)
W/PackageParser( 299): at
com.android.defcontainer.DefaultContainerService$1.getMinimalPackageInfo(DefaultContainerService.java:138)
W/PackageParser( 299): at
com.android.internal.app.IMediaContainerService$Stub.onTransact(IMediaContainerService.java:100)
W/PackageParser( 299): at android.os.Binder.execTransact(Binder.java:320)
W/PackageParser( 299): at dalvik.system.NativeStart.run(Native Method)
Just debugged a bit more - it seems that my app works perfectly up to
about 80 mb in the assets folder... if I add more files to my asset
folder the produced apk leads to crashing emulator / real devices.
This behavior can be reproduced predictably. Less files the app works
- more files the app crashes.
So I guess it either is a problem of size - or of the amount of files deployed.
Does anybody have experiences with such "large" deployments and
possible limits regarding size / amount of files? Any pointers to
further debug the problem would be really helpful!
Thanks :)
Raphael