PhoneGap/Cordova Android应用签名公布注意事项
今天最终要公布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应用签名公布注意事项的更多相关文章
- 在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序
在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序 本贴首发于: http://xuekaiyuan.com/forum.php?mod=vie ...
- [转] Android PhoneGap Cordova 体系结构
说明: 本文档只针对Cordova(PhoneGap)的Android端,基于Cordova2.1.0版本. 一.总体结构 Cordova的目标是用HTML,JS,来完成手机客户端的开发,并且是只开发 ...
- 在 Cordova/Phonegap for Android 中包含中文文件名的页面
在 Cordova/Phonegap for Android 中包含中文文件名的页面 本贴首发于: http://xuekaiyuan.com/forum.php?mod=viewthread& ...
- phonegap(cordova) 自己定义插件代码篇(六)----android ,iOS 微信支付工具整合
还是那句话,在使用插件代码篇的时候,请先了解插件机制(如整合原生插件先阅读原生插件文档.非常重要.非常重要!非常重要!),如未了解,请先阅读入门篇.这里就专贴关键代码 必须先把官方sdk 依照要求一步 ...
- cordova打包之android应用签名
原文:cordova打包之android应用签名 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/mate_ge/article/details/78 ...
- phonegap(cordova) 自己定义插件代码篇(五)----android ,iOS 集成微信登陆
统一登陆还是非常有必要的,安全,放心.代码 /*cordov 微信自己定义插件*/ (function (cordova) { var define = cordova.define; define( ...
- 使用 Eclipse PhoneGap 构建 Android 应用程序入门
Eclipse 是一种支持多种技术的开源集成开发环境 (IDE),但本文重点介绍 Java 支持,这也是 Android 应用程序的“母语”.Android 是 Google 发布的开源移动操作系统. ...
- Android APK 签名 (转发)
Cordova 3.5 为 Android APK 签名,生成可发布的 APK 程序文件 任侠 2014-06-07 00:04 移动开发 抢沙发 16,288 views 目录 [隐藏] ...
- Android应用签名
http://www.cnblogs.com/ghj1976/archive/2011/07/18/2109381.html 为了要签名? 开发Android的人这么多,完全有可能大家都把类名,包名起 ...
随机推荐
- bzoj1211: [HNOI2004]树的计数(prufer序列+组合数学)
1211: [HNOI2004]树的计数 题目:传送门 题解: 今天刚学prufer序列,先打几道简单题 首先我们知道prufer序列和一颗无根树是一一对应的,那么对于任意一个节点,假设这个节点的度数 ...
- nyoj--767--因子和(模拟)
因子和 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 题目很简单明了,给你一个数n,判断它是不是素数,如果是素数就输出"Yes",如果不是素数则输出 ...
- Java基础学习补充 -- 异常处理和log4j日志
Java中的异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. Java中所有异常的基类Throwable:Throwable又分为Error类和Excepti ...
- ScrollView嵌套GridView不显示顶部
/* * scrollView中嵌套GridView不能显示头部 * * 方案①:scrollView.smoothScrollTo(0, 0); * * ...
- 支付宝SDK集成加密库迁移错误问题
最近项目中集成了第三方支付,主要有微信支付和支付宝支付,当然这里我主要想说一下关于集成支付宝支付. 首先从支付宝开发者网站上下载下来了SDK以及DEMO,我们就可以根据DEMO进行分析以及集成.支付宝 ...
- HTTP状态码:300\400\500 错误代码
一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 ...
- 在windows下如何新建爬虫虚拟环境和进行scrapy安装
Scrapy是Python开发的一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改.Sc ...
- [Bug]Python3.x AttributeError: libtest.so: undefined symbol: fact
写kNN,需要在python中实现kd-tree 思考了一下,在python下写这种算法类的东西,还是十分别扭 于是希望用ctypes调用一下c++动态加载库 于是尝试实现一下 // test.cpp ...
- Markdown编辑器 常用语法
一.标题 示例: # 1这是一级标题 ## 2这是二级标题 ### 3这是三级标题 #### 4这是四级标题 ##### 5这是五级标题 ###### 6这是六级标题 效果如下: 1这是一级标题 2这 ...
- subline Text3 插件安装
--没有解决,换了vscode 安装Package Control 这是必须的步骤,安装任何插件之前需要安装这个 自动安装的方法最方便,只需要在控制台(不是win的控制台,而是subline 的)里粘 ...