我们有一个相当大的(~625 MB)APK文件,我们正试图在Kindle Fire上签名。如果我们使用基本的调试配置文件,那么构建就可以了。但是,当我们使用任何密钥库签署apk时(我们生成了测试,并使用了我们的prod密钥库),我们得到了以下崩溃:
11-19 20:04:12.218: E/szipinf(13794): Error reading asset data
11-19 20:04:12.218: E/szipinf(13794): Unable to access asset data: -1
11-19 20:04:12.218: W/dalvikvm(13794): threadid=27: thread exiting with uncaught exception (group=0x41f3eac8)
11-19 20:04:12.218: E/AndroidRuntime(13794): FATAL EXCEPTION: Thread-23834
11-19 20:04:12.218: E/AndroidRuntime(13794): java.io.IOException:
11-19 20:04:12.218: E/AndroidRuntime(13794): at android.content.res.AssetManager.readAsset(Native Method)
11-19 20:04:12.218: E/AndroidRuntime(13794): at android.content.res.AssetManager.access$700(AssetManager.java:35)
11-19 20:04:12.218: E/AndroidRuntime(13794): at android.content.res.AssetManager$AssetInputStream.read(AssetManager.java:576)
我们在许多其他项目中使用了完全相同的签名方法(使用jarsigner,然后使用zipAlign),之前从未见过这个问题。在我们签署文件之前,该应用程序完全正常,但在签名后100%的时间都会看到此问题。
如果有人遇到类似的问题,我真的很想知道你是如何解决这个问题的。我进行了广泛的搜索,发现没有什么可以解释这种行为。