Mobile Locker expects the index.html file to be at the top of the zip file. It should not be in a subdirectory.
Correct Folder Structure

Correct: index.html should be at the top or root of the zip file.
Incorrect Folder Structure

Incorrect: index.html should not be in a "public" subdirectory.
Technically, you can put index.html anywhere you want in the zip file. But if it's not in the root, you'll have to edit the presentation and change its Main file attribute to your path like this:

If you can't put index.html at the root of the zip file, you'll have to set the Main file attribute on the presentation.
You should always reference images, CSS, and other resources using relative paths to where the HTML file is. Read Use Relative Paths for resources.