2014-03-06 161 views
0

我遇到了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://stackoverflow.com/questions/20511516/android-application-signing-proguard-returned-with-error-code-1-see-console http://stackoverflow.com/問題/ 13208784/proguard-returned-error-code-1-see-console http://stackoverflow.com/questions/18493608/cannot-fix-android-proguard-returned-with-error-code-1-error http://stackoverflow.com/questions/19574922/proguard-proguard-returned-with-error-code-1-see-console http://stackoverflow.com/questions/18987105/proguard-return-with-error-code -1-proguard-parseexception –

回答

1

後數小時夫婦尋找解決辦法,我找到了解決辦法。我只是將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 –

0

您有評論的文本文件,它應該是這樣的:

# 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

相關問題