今天最终要公布Android HybirdApp了,安装曾经做原生应用的流程公布签名Apk,没想到立即遇到了几个问题。如今把它们的解决的方法整理下来。

export signed Apk 遇到以下错误,这个问题是多次读取inputStream导致的,貌似和eclise的自己主动编译有关,解决的方法是关掉相关project的自己主动编译。

Export Signed APK 前先將 Eclipse 的 Project -> Build Automatically关闭,第一个坑解决!

[2014-07-25 10:50:58 - SalesApp] Proguard returned with error code 1. See console
[2014-07-25 10:50:58 - SalesApp] java.io.IOException: Can't read [/Users/zhangxitao/work/salesapp/platforms/android/CordovaLib/bin/salesapp-cordovalib.jar] (Can't process class [com/squareup/okhttp/internal/spdy/SpdyConnection$Builder.class] (Unexpected end of ZLIB input stream))
[2014-07-25 10:50:58 - SalesApp] at proguard.InputReader.readInput(InputReader.java:232)
[2014-07-25 10:50:58 - SalesApp] at proguard.InputReader.readInput(InputReader.java:202)
[2014-07-25 10:50:58 - SalesApp] at proguard.InputReader.readInput(InputReader.java:180)
[2014-07-25 10:50:58 - SalesApp] at proguard.InputReader.execute(InputReader.java:78)
[2014-07-25 10:50:58 - SalesApp] at proguard.ProGuard.readInput(ProGuard.java:196)
[2014-07-25 10:50:58 - SalesApp] at proguard.ProGuard.execute(ProGuard.java:78)
[2014-07-25 10:50:58 - SalesApp] at proguard.ProGuard.main(ProGuard.java:483)
[2014-07-25 10:50:58 - SalesApp] Caused by: java.io.IOException: Can't process class [com/squareup/okhttp/internal/spdy/SpdyConnection$Builder.class] (Unexpected end of ZLIB input stream)
[2014-07-25 10:50:58 - SalesApp] at proguard.io.ClassReader.read(ClassReader.java:112)
[2014-07-25 10:50:58 - SalesApp] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2014-07-25 10:50:58 - SalesApp] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2014-07-25 10:50:58 - SalesApp] at proguard.io.JarReader.read(JarReader.java:65)
[2014-07-25 10:50:58 - SalesApp] at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
[2014-07-25 10:50:58 - SalesApp] at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
[2014-07-25 10:50:58 - SalesApp] at proguard.InputReader.readInput(InputReader.java:228)
[2014-07-25 10:50:58 - SalesApp] ... 6 more
[2014-07-25 10:50:58 - SalesApp] Caused by: java.lang.RuntimeException: Unexpected end of ZLIB input stream
[2014-07-25 10:50:58 - SalesApp] at proguard.classfile.io.RuntimeDataInput.readInt(RuntimeDataInput.java:136)
[2014-07-25 10:50:58 - SalesApp] at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:77)
[2014-07-25 10:50:58 - SalesApp] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2014-07-25 10:50:58 - SalesApp] at proguard.io.ClassReader.read(ClassReader.java:91)
[2014-07-25 10:50:58 - SalesApp] ... 12 more
[2014-07-25 10:51:06 - SalesApp] Proguard returned with error code 1. See console
[2014-07-25 10:51:06 - SalesApp] java.io.IOException: Can't read [/Users/zhangxitao/work/salesapp/platforms/android/CordovaLib/bin/salesapp-cordovalib.jar] (Can't process class [com/squareup/okhttp/internal/http/HttpDate.class] (Unexpected end of ZLIB input stream))
[2014-07-25 10:51:06 - SalesApp] at proguard.InputReader.readInput(InputReader.java:232)
[2014-07-25 10:51:06 - SalesApp] at proguard.InputReader.readInput(InputReader.java:202)
[2014-07-25 10:51:06 - SalesApp] at proguard.InputReader.readInput(InputReader.java:180)
[2014-07-25 10:51:06 - SalesApp] at proguard.InputReader.execute(InputReader.java:78)
[2014-07-25 10:51:06 - SalesApp] at proguard.ProGuard.readInput(ProGuard.java:196)
[2014-07-25 10:51:06 - SalesApp] at proguard.ProGuard.execute(ProGuard.java:78)
[2014-07-25 10:51:06 - SalesApp] at proguard.ProGuard.main(ProGuard.java:483)
[2014-07-25 10:51:06 - SalesApp] Caused by: java.io.IOException: Can't process class [com/squareup/okhttp/internal/http/HttpDate.class] (Unexpected end of ZLIB input stream)
[2014-07-25 10:51:06 - SalesApp] at proguard.io.ClassReader.read(ClassReader.java:112)
[2014-07-25 10:51:06 - SalesApp] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2014-07-25 10:51:06 - SalesApp] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2014-07-25 10:51:06 - SalesApp] at proguard.io.JarReader.read(JarReader.java:65)
[2014-07-25 10:51:06 - SalesApp] at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
[2014-07-25 10:51:06 - SalesApp] at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
[2014-07-25 10:51:06 - SalesApp] at proguard.InputReader.readInput(InputReader.java:228)
[2014-07-25 10:51:06 - SalesApp] ... 6 more
[2014-07-25 10:51:06 - SalesApp] Caused by: java.lang.RuntimeException: Unexpected end of ZLIB input stream
[2014-07-25 10:51:06 - SalesApp] at proguard.classfile.io.RuntimeDataInput.readInt(RuntimeDataInput.java:136)
[2014-07-25 10:51:06 - SalesApp] at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:77)
[2014-07-25 10:51:06 - SalesApp] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2014-07-25 10:51:06 - SalesApp] at proguard.io.ClassReader.read(ClassReader.java:91)
[2014-07-25 10:51:06 - SalesApp] ... 12 more
[2014-07-25 10:51:20 - SalesApp] Proguard returned with error code 1. See console
[2014-07-25 10:51:20 - SalesApp] java.io.IOException: Can't read [/Users/zhangxitao/work/salesapp/platforms/android/CordovaLib/bin/salesapp-cordovalib.jar] (Can't process class [com/squareup/okhttp/internal/http/HttpTransport.class] (Unexpected end of ZLIB input stream))
[2014-07-25 10:51:20 - SalesApp] at proguard.InputReader.readInput(InputReader.java:232)
[2014-07-25 10:51:20 - SalesApp] at proguard.InputReader.readInput(InputReader.java:202)
[2014-07-25 10:51:20 - SalesApp] at proguard.InputReader.readInput(InputReader.java:180)
[2014-07-25 10:51:20 - SalesApp] at proguard.InputReader.execute(InputReader.java:78)
[2014-07-25 10:51:20 - SalesApp] at proguard.ProGuard.readInput(ProGuard.java:196)
[2014-07-25 10:51:20 - SalesApp] at proguard.ProGuard.execute(ProGuard.java:78)
[2014-07-25 10:51:20 - SalesApp] at proguard.ProGuard.main(ProGuard.java:483)
[2014-07-25 10:51:20 - SalesApp] Caused by: java.io.IOException: Can't process class [com/squareup/okhttp/internal/http/HttpTransport.class] (Unexpected end of ZLIB input stream)
[2014-07-25 10:51:20 - SalesApp] at proguard.io.ClassReader.read(ClassReader.java:112)
[2014-07-25 10:51:20 - SalesApp] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2014-07-25 10:51:20 - SalesApp] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2014-07-25 10:51:20 - SalesApp] at proguard.io.JarReader.read(JarReader.java:65)
[2014-07-25 10:51:20 - SalesApp] at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
[2014-07-25 10:51:20 - SalesApp] at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
[2014-07-25 10:51:20 - SalesApp] at proguard.InputReader.readInput(InputReader.java:228)
[2014-07-25 10:51:20 - SalesApp] ... 6 more
[2014-07-25 10:51:20 - SalesApp] Caused by: java.lang.RuntimeException: Unexpected end of ZLIB input stream
[2014-07-25 10:51:20 - SalesApp] at proguard.classfile.io.RuntimeDataInput.readInt(RuntimeDataInput.java:136)
[2014-07-25 10:51:20 - SalesApp] at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:77)
[2014-07-25 10:51:20 - SalesApp] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2014-07-25 10:51:20 - SalesApp] at proguard.io.ClassReader.read(ClassReader.java:91)
[2014-07-25 10:51:20 - SalesApp] ... 12 more
[2014-07-25 10:54:53 - SalesApp] Proguard returned with error code 1. See console
[2014-07-25 10:54:53 - SalesApp] java.io.IOException: Can't read [/Users/zhangxitao/work/salesapp/platforms/android/CordovaLib/bin/salesapp-cordovalib.jar] (Can't process class [com/squareup/okhttp/internal/http/HttpEngine.class] (Unexpected end of ZLIB input stream))
[2014-07-25 10:54:53 - SalesApp] at proguard.InputReader.readInput(InputReader.java:232)
[2014-07-25 10:54:53 - SalesApp] at proguard.InputReader.readInput(InputReader.java:202)
[2014-07-25 10:54:53 - SalesApp] at proguard.InputReader.readInput(InputReader.java:180)
[2014-07-25 10:54:53 - SalesApp] at proguard.InputReader.execute(InputReader.java:78)
[2014-07-25 10:54:53 - SalesApp] at proguard.ProGuard.readInput(ProGuard.java:196)
[2014-07-25 10:54:53 - SalesApp] at proguard.ProGuard.execute(ProGuard.java:78)
[2014-07-25 10:54:53 - SalesApp] at proguard.ProGuard.main(ProGuard.java:483)
[2014-07-25 10:54:53 - SalesApp] Caused by: java.io.IOException: Can't process class [com/squareup/okhttp/internal/http/HttpEngine.class] (Unexpected end of ZLIB input stream)
[2014-07-25 10:54:53 - SalesApp] at proguard.io.ClassReader.read(ClassReader.java:112)
[2014-07-25 10:54:53 - SalesApp] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2014-07-25 10:54:53 - SalesApp] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2014-07-25 10:54:53 - SalesApp] at proguard.io.JarReader.read(JarReader.java:65)
[2014-07-25 10:54:53 - SalesApp] at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
[2014-07-25 10:54:53 - SalesApp] at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
[2014-07-25 10:54:53 - SalesApp] at proguard.InputReader.readInput(InputReader.java:228)
[2014-07-25 10:54:53 - SalesApp] ... 6 more
[2014-07-25 10:54:53 - SalesApp] Caused by: java.lang.RuntimeException: Unexpected end of ZLIB input stream
[2014-07-25 10:54:53 - SalesApp] at proguard.classfile.io.RuntimeDataInput.readInt(RuntimeDataInput.java:136)
[2014-07-25 10:54:53 - SalesApp] at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:77)
[2014-07-25 10:54:53 - SalesApp] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2014-07-25 10:54:53 - SalesApp] at proguard.io.ClassReader.read(ClassReader.java:91)
[2014-07-25 10:54:53 - SalesApp] ... 12 more

Proguard 会混淆cordova及其插件的java代码,导致apk执行时报 cordova error initial class,解决的方法是在proguard-project.txt 增加以下的内容,不混淆cordova及其插件

cordova 3.0以上版本号加

-keep class org.apache.cordova.** { *; }
-keep public class * extends org.apache.cordova.CordovaPlugin

PhoneGap/Cordova Android应用签名公布注意事项的更多相关文章

  1. 在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序

    在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序 本贴首发于: http://xuekaiyuan.com/forum.php?mod=vie ...

  2. [转] Android PhoneGap Cordova 体系结构

    说明: 本文档只针对Cordova(PhoneGap)的Android端,基于Cordova2.1.0版本. 一.总体结构 Cordova的目标是用HTML,JS,来完成手机客户端的开发,并且是只开发 ...

  3. 在 Cordova/Phonegap for Android 中包含中文文件名的页面

    在 Cordova/Phonegap for Android 中包含中文文件名的页面 本贴首发于: http://xuekaiyuan.com/forum.php?mod=viewthread& ...

  4. phonegap(cordova) 自己定义插件代码篇(六)----android ,iOS 微信支付工具整合

    还是那句话,在使用插件代码篇的时候,请先了解插件机制(如整合原生插件先阅读原生插件文档.非常重要.非常重要!非常重要!),如未了解,请先阅读入门篇.这里就专贴关键代码 必须先把官方sdk 依照要求一步 ...

  5. cordova打包之android应用签名

    原文:cordova打包之android应用签名 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/mate_ge/article/details/78 ...

  6. phonegap(cordova) 自己定义插件代码篇(五)----android ,iOS 集成微信登陆

    统一登陆还是非常有必要的,安全,放心.代码 /*cordov 微信自己定义插件*/ (function (cordova) { var define = cordova.define; define( ...

  7. 使用 Eclipse PhoneGap 构建 Android 应用程序入门

    Eclipse 是一种支持多种技术的开源集成开发环境 (IDE),但本文重点介绍 Java 支持,这也是 Android 应用程序的“母语”.Android 是 Google 发布的开源移动操作系统. ...

  8. Android APK 签名 (转发)

    Cordova 3.5 为 Android APK 签名,生成可发布的 APK 程序文件  任侠  2014-06-07 00:04  移动开发  抢沙发  16,288 views  目录 [隐藏] ...

  9. Android应用签名

    http://www.cnblogs.com/ghj1976/archive/2011/07/18/2109381.html 为了要签名? 开发Android的人这么多,完全有可能大家都把类名,包名起 ...

随机推荐

  1. bzoj1211: [HNOI2004]树的计数(prufer序列+组合数学)

    1211: [HNOI2004]树的计数 题目:传送门 题解: 今天刚学prufer序列,先打几道简单题 首先我们知道prufer序列和一颗无根树是一一对应的,那么对于任意一个节点,假设这个节点的度数 ...

  2. nyoj--767--因子和(模拟)

    因子和 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 题目很简单明了,给你一个数n,判断它是不是素数,如果是素数就输出"Yes",如果不是素数则输出 ...

  3. Java基础学习补充 -- 异常处理和log4j日志

    Java中的异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. Java中所有异常的基类Throwable:Throwable又分为Error类和Excepti ...

  4. ScrollView嵌套GridView不显示顶部

    /*     * scrollView中嵌套GridView不能显示头部     *      * 方案①:scrollView.smoothScrollTo(0, 0);     *      * ...

  5. 支付宝SDK集成加密库迁移错误问题

    最近项目中集成了第三方支付,主要有微信支付和支付宝支付,当然这里我主要想说一下关于集成支付宝支付. 首先从支付宝开发者网站上下载下来了SDK以及DEMO,我们就可以根据DEMO进行分析以及集成.支付宝 ...

  6. HTTP状态码:300\400\500 错误代码

    一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 ...

  7. 在windows下如何新建爬虫虚拟环境和进行scrapy安装

    Scrapy是Python开发的一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改.Sc ...

  8. [Bug]Python3.x AttributeError: libtest.so: undefined symbol: fact

    写kNN,需要在python中实现kd-tree 思考了一下,在python下写这种算法类的东西,还是十分别扭 于是希望用ctypes调用一下c++动态加载库 于是尝试实现一下 // test.cpp ...

  9. Markdown编辑器 常用语法

    一.标题 示例: # 1这是一级标题 ## 2这是二级标题 ### 3这是三级标题 #### 4这是四级标题 ##### 5这是五级标题 ###### 6这是六级标题 效果如下: 1这是一级标题 2这 ...

  10. subline Text3 插件安装

    --没有解决,换了vscode 安装Package Control 这是必须的步骤,安装任何插件之前需要安装这个 自动安装的方法最方便,只需要在控制台(不是win的控制台,而是subline 的)里粘 ...