title: Displaying SVG files in Android
body: <p>I want to create an app that will display position on some floor plan. Navigation is implementing via WiFi in certain way, I've done it and so now I have a problem of displaying floor plan. </p>
  
  <p>It might be in some vector format, after surfing internet for some time I've decided that it must be svg file.
  I found some solutions, but it isn't working for me!</p>
  
  <ol>
  <li><p><strong><a href="http://code.google.com/p/svg-android/" rel="noreferrer">Library svg-android</a></strong></p>
  
  <p>There is opportunity to display .svg files, but only "simple" files. It works fine only for file in tutorial, but not for any other <code>.svg</code> file (for example, some other file, that you'll create with Inkscape).</p>
  
  <p>So, I decided, that I'll parse <code>.svg</code> file, make DOM from it, somehow get objects and attributes and draw it via OpenGL ES. </p></li>
  <li><p><strong><a href="http://xmlgraphics.apache.org/batik/" rel="noreferrer">Apache Batik</a></strong></p>
  
  <p>At first glance, very good solution, but there is a problem. Android has some "native" apache libraries and when I try to do something with batik, it throws <code>NoClassDefFoundError</code>, because it's searching not in batik libraries, but in "native" libraries. </p>
  
  <p>Of course, we can add source code in our project, take only batik parser for <code>.svg</code> files and edit it in some way, but there is a lot of work, with same success we can write our own parser.</p></li>
  <li><p><strong><a href="http://www.tinyline.com/" rel="noreferrer">Tiny Line</a></strong></p>
  
  <p>There is no trial version, but if we'll <a href="http://www.tinyline.com/svgt/index.html" rel="noreferrer">see description</a> of how it works for svg files and android, we'll see that there is only rasterization of such files and that's all. </p></li>
  </ol>
  
  <p>Is there any solution better than writing own parser? 
  Did anyone come across this problem?  </p>