AndroidApk混淆编译时,报告java.io.IOException...错误解决办法

在混淆编译之前,我的程序可以正常运行,混淆编译时,报告如下错误:

Error:Execution failed for task ‘:gviews:transformClassesAndResourcesWithProguardForRelease'.

Java.io.IOException: The same input jar [E:\Android\myProgram\angel\libs\alipaySdk-20160825.jar] is specified twice.

首先

看一下我项目中关于此jar的配置,我在libs中导入了alipaySdk-20160825.jar,如下图:

然后在build.gradle也配置了使用此jar,compile files('libs/alipaySdk-20160825.jar')

然后

发布apk之前,对apk要进行混淆编译,对于alipaySdk-20160825.jar 在proguard-rules.pro文件中混淆处理如下:

#支付宝混淆

-libraryjars libs/alipaySdk-20160825.jar
-keep class com.alipay.android.app.IAlixPay{*;}
-keep class com.alipay.android.app.IAlixPay$Stub{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
-keep class com.alipay.sdk.app.PayTask{ public *;}
-keep class com.alipay.sdk.app.AuthTask{ public *;}
-keep class android.net.SSLCertificateSocketFactory

这是支付宝官方给的混淆代码,运行程序时就报告了开头所说的错误。

处理方法

删除在proguard-rules.pro文件夹中-libraryjars libs/alipaySdk-20160825.jar这一行就可以了。这里只写了处理方法没有写出为什么这样做,因为我不能准确的描述出这样处理的原因,说的不准确会误导到被人,所以这里给了处理方法,原因大家共同探索思考,

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 文件路径正确,报java.io.FileNotFoundException异常的原因及解决办法

    新添加个发文类型 insert into mis.zyb_sf_type values('121','榆财法字','榆财法字',2,'0','1',21,NULL,'0','发文模板.doc','') 创建文章时出错了, 异常信息: 文件保存失败 Java.io.FileNotFoundException: E:\tomcat\jinzhongshi\jinzs_yuci\webapps\myDoJZS\word\template_fw\发文模版.doc (系统找不到指定的文件.) at jav

  • 浅析Java.IO输入输出流 过滤流 buffer流和data流

    java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入: 缓冲流为什么比普通的文件字节流效率高? 不带缓冲的操作,每读一个字节就要写入一个字节. 由于涉及磁盘的IO操作相比内存的操作要慢很多,所以不带缓冲的流效率很低. 带缓冲的流,可以一次读很多字节,但不向磁盘中写入,只是先放到内存里. 等凑够了缓冲区大小的时候一次性写入磁盘,这种方式可以减少磁盘操作次数,速度就会提高很多! 这就是两者的区

  • Java编程在ICPC快速IO实现源码

    本文将介绍Java在ICPC快速IO实现方法,下面看看具体代码. 不处理EOF: import java.io.OutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.Arrays; import java.util.Random; import java.io.IOException; import java.io.Inp

  • JSP上传图片产生 java.io.IOException: Stream closed异常解决方法

    在做 jsp 上传图片时,把 java 代码直接改成 jsp,上传时产生 如下异常: 2012-12-31 8:59:21 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet jsp threw exception java.io.IOException: Stream closed ... 百思不得其解,翻出 jsp 转成 servlet 后的代码.如下(很很的醒目一下):

  • AndroidApk混淆编译时,报告java.io.IOException...错误解决办法

    在混淆编译之前,我的程序可以正常运行,混淆编译时,报告如下错误: Error:Execution failed for task ':gviews:transformClassesAndResourcesWithProguardForRelease'. Java.io.IOException: The same input jar [E:\Android\myProgram\angel\libs\alipaySdk-20160825.jar] is specified twice. 首先 看一下

  • Hadoop运行时遇到java.io.FileNotFoundException错误的解决方法

    报错信息: java.lang.Exception: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in localfetcher#1 at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462) at org.apache.hadoop.mapred.LocalJobRunner$Jo

  • java.lang.NoClassDefFoundError错误解决办法

    java.lang.NoClassDefFoundError错误解决办法 前言 在日常Java开发中,我们经常碰到java.lang.NoClassDefFoundError这样的错误,需要花费很多时间去找错误的原因,具体是哪个类不见了?类明明还在,为什么找不到?而且我们很容易把java.lang.NoClassDefFoundError和java.lang.ClassNotfoundException这两个错误搞混,事实上这两个错误是完全不同的.我们往往花费时间去不断尝试一些其他的方法去解决这

  • Eclipse 开发java 出现Failed to create the Java Virtual Machine错误解决办法

    Eclipse 开发java 出现Failed to create the Java Virtual Machine错误解决办法 一直用Eclipse开发Java,突然有这么一天,无法启动了,splash窗口显示"Failed to create the Java Virtual Machine" 修改eclipse.ini配置文件,找到下面的片段: --launcher.XXMaxPermSize 256M -showsplash org.eclipse.platform --lau

  • Android 出现:java.lang.NoClassDefFoundError...错误解决办法

    今天测试突然给我说我写的XX界面一点app就crash了! 纳尼,我肯定表示不服啊!怎么可能出现一点击就崩溃的情况呢,明明自己的测试了的! 然后我又用自己的测试机试了下没问题(Version:5.0.2),然后又使用crash的测试手机(Version:4.4),乖乖,居然是4.4才会出现的情况!(4.4以下没有验证哈!可能都会吧!!!) log显示: W/System.err: java.lang.NoClassDefFoundError: android/os/PersistableBund

  • 解决Java中的java.io.IOException: Broken pipe问题

    Java 中java.io.IOException: Broken pipe 认识broken pipe pipe是管道的意思,管道里面是数据流,通常是从文件或网络套接字读取的数据. 当该管道从另一端突然关闭时,会发生数据突然中断,即是broken. 对于文件File来说,这可能是文件安装在已断开连接的光盘或远程网络上. 对于socket来说,可能是网络被拔出或另一端的进程崩溃. 在Java中,没有具体的BrokenPipeException. 将此类错误包含在另一个异常,例如java.io.I

  • Android 中读取SD卡文件时抛出NullPointerException错误解决办法

    Android 中读取SD卡文件时抛出NullPointerException错误解决办法 相关源码: package com.example.musicplayer; import java.io.File; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import

  • Java 使用JdbcTemplate 中的queryForList发生错误解决办法

    Java 使用JdbcTemplate 中的queryForList发生错误解决办法          在开发项目中遇到JdbcTemplate 中的queryForList发生错误,很是头疼,在网上找了相关资料,可以帮忙解决,这里记录下, 一.问题描述:  查询时使用JdbcTemplate 中的queryForList发生错误,如下: 查询方法如下: jdbcTemplate.queryForList(selectSql.toString(), entityClass) 查询sql如下: s

  • 运行独立 pyspark 时出现 Windows 错误解决办法

    我正在尝试在 Anaconda 中导入 pyspark 并运行示例代码.但是,每当我尝试在 Anaconda 中运行代码时,都会收到以下错误消息. 尝试连接到 Java 服务器时发生 ERROR:py4j.java_gateway:An 错误(127.0.0.1:53294)追溯(最近一次调用最近):文件" C:\ spark\python\lib\py4j-0.10.3-src.zip\py4j\java_gateway.py",行 send_command self.socket.

随机推荐