Android 打包几种报错情况和解决办法proguard returned with error code 1.

本文主要是介绍Android 打包几种报错情况和解决办法proguard returned with error code 1.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

情况1:
Proguard returned with error code 1. See console
Error: C:/Documents (系统找不到指定文件)
这个是因为有空格引起的,proguard进行发编译的时候是不允许有空格的。所以要注意工程所放位置是否有空格。
如果换了正确路径还不好用的话,直接删除proguard就好了
注意:SDK和程序路径最好不要有空格符

情况2:
Proguard returned with error code 1. See console
异常:
java.lang.ArrayIndexOutOfBoundsException
解决办法:将proguard.cfg中的"-dontpreverify"改成“-dontoptimize”
把项目中生成的proguard文件夹(此时文件夹是空的)删掉,然后再重新运行项目,就OK 了。

情况3:
Proguard returned with error code 1. See console
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find superclass or interface android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced class android.app.Fragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced method 'android.app.Activity getActivity()' in class com.amap.api.maps.MapFragment
[2014-01-20 09:37:39 - DOYI] Warning: com.amap.api.maps.MapFragment: can't find referenced method 'android.os.Bundle getArguments()' in class com.amap.api.maps.MapFragment
[2014-01-20 09:37:39 - DOYI] Warning: com.autonavi.aps.amapapi.Utils: can't find referenced class android.provider.Settings$Global
[2014-01-20 09:37:39 - DOYI] Warning: com.autonavi.aps.amapapi.Utils: can't find referenced class android.provider.Settings$Global
[2014-01-20 09:37:39 - DOYI] Warning: there were 15 unresolved references to classes or interfaces.
[2014-01-20 09:37:39 - DOYI]          You may need to specify additional library jars (using '-libraryjars').
[2014-01-20 09:37:39 - DOYI] Warning: there were 2 unresolved references to program class members.
[2014-01-20 09:37:39 - DOYI]          Your input classes appear to be inconsistent.
[2014-01-20 09:37:39 - DOYI]          You may need to recompile them and try again.
[2014-01-20 09:37:39 - DOYI]          Alternatively, you may have to specify the option 
[2014-01-20 09:37:39 - DOYI]          '-dontskipnonpubliclibraryclassmembers'.
[2014-01-20 09:37:39 - DOYI] java.io.IOException: Please correct the above warnings first.
[2014-01-20 09:37:39 - DOYI] at proguard.Initializer.execute(Initializer.java:321)
[2014-01-20 09:37:39 - DOYI] at proguard.ProGuard.initialize(ProGuard.java:211)
[2014-01-20 09:37:39 - DOYI] at proguard.ProGuard.execute(ProGuard.java:86)
[2014-01-20 09:37:39 - DOYI] at proguard.ProGuard.main(ProGuard.java:492)

抛出这样的异常的原因是第三方jar的引用路径不对,没有找到这个需要忽略混淆的jar包。

只需在你的proguard-project.txt中添加如下两行即可。

-ignorewarnings
-libraryjars libs/Android_Map_V2.0.4.jar


你可以根据你的项目提示,添加需要的jar。

下面是4.0打包办法!

其实Android 4.0要用ProGuard比2.3更简单:在Eclipse中打开工程目录下的project.properties文件,该文件中有以下两行:

To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

根据这段说明,只要将proguard.config前面的#去掉,就可以利用ProGuard来混淆代码了!当然,默认的设置是不带优化功能的,可以用以下设置来加上代码优化功能:
proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
然后只要经过数字签名之类的编译后,代码就是混淆的了。



这篇关于Android 打包几种报错情况和解决办法proguard returned with error code 1.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030036

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

java中判断json key是否存在的几种方法

《java中判断jsonkey是否存在的几种方法》在使用Java处理JSON数据时,如何判断某一个key是否存在?本文就来介绍三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目http://www.chinasem.cn录第一种方法是使用 jsONObject 的 has 方法

idea突然报错Malformed \uxxxx encoding问题及解决

《idea突然报错Malformeduxxxxencoding问题及解决》Maven项目在切换Git分支时报错,提示project元素为描述符根元素,解决方法:删除Maven仓库中的resolv... 目www.chinasem.cn录问题解决方式总结问题idea 上的 maven China编程项目突然报错,是

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

nodejs打包作为公共包使用的完整流程

《nodejs打包作为公共包使用的完整流程》在Node.js项目中,打包和部署是发布应用的关键步骤,:本文主要介绍nodejs打包作为公共包使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言一、前置准备二、创建与编码三、一键构建四、本地“白嫖”测试(可选)五、发布公共包六、常见踩坑提醒

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

javacv依赖太大导致jar包也大的解决办法

《javacv依赖太大导致jar包也大的解决办法》随着项目的复杂度和依赖关系的增加,打包后的JAR包可能会变得很大,:本文主要介绍javacv依赖太大导致jar包也大的解决办法,文中通过代码介绍的... 目录前言1.检查依赖2.更改依赖3.检查副依赖总结 前言最近在写项目时,用到了Javacv里的获取视频