Proguard返回错误代码1没有任何具体信息

问题描述:

我遇到了proguard的问题,我尝试过很多可能的解决方案,但仍然没有解决我的问题。Proguard返回错误代码1没有任何具体信息

我从控制台得到的唯一信息是

Proguard returned with error code 1. See console 

仅此而已,这是我见过一个非常糟糕的错误消息。

我已经设置

proguard.config=proguard-project.txt 

,并没有在ProGuard的-project.txt,我相信,只有一对夫妇的意见。

# To enable ProGuard in your project, edit project.properties 
# to define the proguard.config property as described in that file. 
# 
# Add project specific ProGuard rules here. 
# By default, the flags in this file are appended to flags specified 
# in ${sdk.dir}/tools/proguard/proguard-android.txt 
# You can edit the include path and order by changing the ProGuard 
# include property in project.properties. 
# 
# For more details, see 
# http://developer.android.com/guide/developing/tools/proguard.html 

# Add any project specific keep options here: 

# If your project uses WebView with JS, uncomment the following 
# and specify the fully qualified class name to the JavaScript interface 
# class: 
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { 
# public *; 
#} 
# This is a configuration file for ProGuard. 
# http://proguard.sourceforge.net/index.html#manual/usage.html 
+1

你可以发布你的proguard-project.txt – Yuvi

+0

检查你的错误日志,它将有完整的错误。请发布完整的错误日志。 – GrIsHu

+0

问过这么多次之前... http://*.com/questions/20511516/android-application-signing-proguard-returned-with-error-code-1-see-console http://*.com/问题/ 13208784/proguard-returned-error-code-1-see-console http://*.com/questions/18493608/cannot-fix-android-proguard-returned-with-error-code-1-error http://*.com/questions/19574922/proguard-proguard-returned-with-error-code-1-see-console http://*.com/questions/18987105/proguard-return-with-error-code -1-proguard-parseexception –

后数小时夫妇寻找解决办法,我找到了解决办法。我只是将proguard.jar移动到另一个路径中没有空格的目录中,然后我将/ bin目录下的proguard.bat编辑到该目录中。最终,proguard运行良好,给我错误日志,我期望。

示例脚本。

@ECHO OFF 

REM Start-up script for ProGuard -- free class file shrinker, optimizer, 
REM obfuscator, and preverifier for Java bytecode. 

rem Change current directory and drive to where the script is, to avoid 
rem issues with directories containing whitespaces. 
cd /d %~dp0 

IF EXIST "%PROGUARD_HOME%" GOTO home 
SET PROGUARD_HOME=.. 
:home 

java -jar C:\bin\proguard.jar %* 
+0

这对我来说真的很好..因为它开始显示错误,但问题是我的控制台清理直到它完成时间。即我无法查看日志,因为我正在使用svn –

您有评论的文本文件,它应该是这样的:

# To enable ProGuard in your project, edit project.properties 
# to define the proguard.config property as described in that file. 
# 
# Add project specific ProGuard rules here. 
# By default, the flags in this file are appended to flags specified 
# in ${sdk.dir}/tools/proguard/proguard-android.txt 
# You can edit the include path and order by changing the ProGuard 
# include property in project.properties. 
# 
# For more details, see 
# http://developer.android.com/guide/developing/tools/proguard.html 

# Add any project specific keep options here: 

# If your project uses WebView with JS, uncomment the following 
# and specify the fully qualified class name to the JavaScript interface 
# class: 
-keepclassmembers class fqcn.of.javascript.interface.for.webview { 
    public *; 
} 

-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-verbose 

# Optimization is turned off by default. Dex does not like code run 
# through the ProGuard optimize and preverify steps (and performs some 
# of these optimizations on its own). 
-dontoptimize 
-dontpreverify 
# Note that if you want to enable optimization, you cannot just 
# include optimization flags in your own project configuration file; 
# instead you will need to point to the 
# "proguard-android-optimize.txt" file instead of this one from your 
# project.properties file. 

-keepattributes *Annotation* 
-keep public class com.google.vending.licensing.ILicensingService 
-keep public class com.android.vending.licensing.ILicensingService 

# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native 
-keepclasseswithmembernames class * { 
    native <methods>; 
} 

# keep setters in Views so that animations can still work. 
# see http://proguard.sourceforge.net/manual/examples.html#beans 
-keepclassmembers public class * extends android.view.View { 
    void set*(***); 
    *** get*(); 
} 

# We want to keep methods in Activity that could be used in the XML attribute onClick 
-keepclassmembers class * extends android.app.Activity { 
    public void *(android.view.View); 
} 

# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations 
-keepclassmembers enum * { 
    public static **[] values(); 
    public static ** valueOf(java.lang.String); 
} 

-keep class * implements android.os.Parcelable { 
    public static final android.os.Parcelable$Creator *; 
} 

-keepclassmembers class **.R$* { 
    public static <fields>; 
} 

# The support library contains references to newer platform versions. 
# Don't warn about those in case this app is linking against an older 
# platform version. We know about them, and they are safe. 
-dontwarn android.support.** 

生成使用以下命令:

cd <you project directory> 
#update project properties 
android update project -t 3 -p . 
#clean the code 
ant clean 
# build the application 
ant release 
+0

对不起,我仍然收到相同的错误消息。 – Huteri

+0

您是否创建了脚本或者您是通过命令构建的?请添加他们.. – Yuvi

+0

@Huteri添加命令来建立项目。\ – Yuvi