Proguard.ParseException: Ожидание имени члена класса до «@» в Android Eclipse ADT

Я пытаюсь оптимизировать свой код приложения Android с помощью Proguard с eclipse ADT v21.1.0-569685 на MAC. Я использовал project-> Android Tools-> export asigned Application package вариант для подписания с моим личным сертификатом, при завершении подписания я получил следующую ошибку,

project.properties

# This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system edit # "ant.properties", and override values to adapt the script to your # project structure. # # 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 # Project target. target=android-17 android.library.reference.1=../google-play-services_lib 

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 *; #} 

Журнал консоли:

 [2013-04-12 10:41:53 - MyApp] Proguard returned with error code 1. See console [2013-04-12 10:41:53 - MyApp] proguard.ParseException: Expecting class member name before '@' in line 82 of file '/Users/MyOrg/Android_workspace/MyApp/bin/proguard.txt', [2013-04-12 10:41:53 - MyApp] included from argument number 6 [2013-04-12 10:41:53 - MyApp] at proguard.ConfigurationParser.readNextWord(ConfigurationParser.java:1133) [2013-04-12 10:41:53 - MyApp] at proguard.ConfigurationParser.readNextWord(ConfigurationParser.java:1117) [2013-04-12 10:41:53 - MyApp] at proguard.ConfigurationParser.parseMemberSpecificationArguments(ConfigurationParser.java:845) [2013-04-12 10:41:53 - MyApp] at proguard.ConfigurationParser.parseClassSpecificationArguments(ConfigurationParser.java:697) [2013-04-12 10:41:53 - MyApp] at proguard.ConfigurationParser.parseKeepClassSpecificationArguments(ConfigurationParser.java:490) [2013-04-12 10:41:53 - MyApp] at proguard.ConfigurationParser.parse(ConfigurationParser.java:139) [2013-04-12 10:41:53 - MyApp] at proguard.ProGuard.main(ProGuard.java:484) 
  1. Как решить вышеуказанный вопрос?
  2. В файле prouard.project я прочитал

Если ваш проект использует WebView с JS, раскомментируйте следующее и укажите полное имя класса для класса интерфейса JavaScript:

Я использовал webview в двух действиях с классом WebAppInterface.java. Как сделать заявление выше?

Ссылка на имя ресурса, например « @ string / on_click_handler_name », в атрибуте android: onClick вашего файла макета одобрен. Однако proguard не может разрешить эти ссылки.

Проверьте http://android.okhelp.cz/proguard-parseexception-expecting-class-member-name-before/ для получения более подробной информации.

Найдите соответствующее значение @ string / tha_lf_et_todate_onclick в файле string.xml и обновите:

 android:onClick="@string/tha_lf_et_todate_onclick" 

в

 android:onClick="onClickXXX" 

В вашем файле макета. Во втором вопросе раскомментируйте этот фрагмент кода и замените «fqcn.of.javascript.interface.for.webview» на полное имя класса.