2014-09-10 39 views
0

我在我的mac os計算機上結合了android的集成proguard。 我ProGuard的Android SDK中位於:集成prouard與android在mac os x

/Users/thanhnguyen/Documents/mr thao's music/android-sdk-macosx/tools/proguard 

Proguard.sh文件在隨訪:

PROGUARD_HOME=`dirname "$0"`/.. 

    java -jar $PROGUARD_HOME/lib/proguard.jar "[email protected]" 

我project.properties如下:

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

當我嘗試運行的ProGuard ,發生此錯誤:

Proguard returned with error code 1. See console 
Proguard Error 1 
Output: 
Error: /Users/thanhnguyen/Documents/mr thao (No such file or directory) 
at com.android.ide.eclipse.adt.internal.build.BuildHelper.runProguard(BuildHelper.java:623) 
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:259) 
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.doExport(ExportWizard.java:313) 
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard.access$0(ExportWizard.java:238) 
at com.android.ide.eclipse.adt.internal.wizards.export.ExportWizard$1.run(ExportWizard.java:223) 
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) 

我在這裏錯過了什麼? 非常感謝!

回答

0

問題是您的文件夾名稱中有一個撇號(「mr thao's music」)。

當Proguard讀入這個文件名時,它碰到撇號並認爲它已經到達文件名的末尾,因此錯誤表明它正在尋找名爲/Users/thanhnguyen/Documents/mr thao的目錄。

我會重新命名目錄或將您的Proguard家搬到其他地方。通常,文件名或路徑名中的特殊字符不是一個好主意,因爲它偶爾會導致類似的問題。

或者,你可以手工用反斜槓通過目錄中的java -jar command在progaurd.sh和逃避單引號/撇號,像這樣:

java -jar "/Users/thanhnguyen/Documents/mr thao\'s music/android-sdk-macosx/tools/proguard/lib/proguard.jar" "[email protected]" 

請記住,這種方法會導致如果這個問題項目與其他人共享,因爲該目錄對他們來說是錯誤的。

+0

哪裏/哪些文件應該更改路徑到/ Users/thanhnguyen/Documents/mr thao \'s music/android-sdk-macosx/tools/proguard? – user3693265 2014-09-10 15:24:32

+0

啊,我的壞,我以爲你已經在你的配置文件中定義了。我更新了我的答案。 – 2014-09-10 15:33:01

+0

看來,我同樣遇到路徑名中的空格問題,因爲發生此錯誤:導致:Proguard錯誤1 輸出: 無法訪問jarfile/Users/thanhnguyen/Documents/mr – user3693265 2014-09-10 15:54:49