proguard在发布版本上删除chunktemplate功能

时间:2014-10-28 22:56:03

标签: java android template-engine chunk-templates

问题描述

块模板(https://code.google.com/p/chunk-templates/)功能与我的调试版本一致。 如果我使用相同的代码进行发布构建,它就会停止工作。如果我在我的发布版本中禁用proguard,一切都会再次运行。所以我确信它的程序在优化过程中从库中删除了太多。

虽然我发布了第一个版本,但是有一些关于块模板代码的错误消息。 使用以下progurad语句能够生成发布版本(-dontwarn com.x5。**)。经过一些测试后,我发现块模板功能无效。

我尝试过的声明(来自proguard配置)

  • libraryjars /home/ydoganc/projects/contract_info/libs/chunk_2.4/chunk_template_2.4.jar
  • dontwarn com.x5。** #does编译没有错误但没有工作
  • keep class net.minidev.json。** {*;}
  • keep class com.x5.template。** {*; }
  • keep class net.minidev。** {*; }

有没有办法阻止proguard处理库罐?看起来proguard不是 做配置文件告诉它做的事情。

proguard的错误消息(禁用-dontwarn com.x5。** ...语句后):

[2014-10-28 23:33:32 - ContractInfoListActivity] Proguard returned with error code 1. See console
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.MacroTag: can't find referenced class net.minidev.json.JSONValue
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.MacroTag: can't find referenced class net.minidev.json.JSONValue
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.MacroTag: can't find referenced class net.minidev.json.JSONArray
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.MacroTag: can't find referenced class net.minidev.json.parser.ParseException
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.MacroTag: can't find referenced class net.minidev.json.parser.JSONParser
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.MacroTag: can't find referenced class net.minidev.json.parser.JSONParser
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.MacroTag: can't find referenced class net.minidev.json.parser.ContainerFactory
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.MacroTag: can't find referenced class net.minidev.json.parser.ContainerFactory
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.MacroTag: can't find referenced class net.minidev.json.parser.JSONParser
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Base64DecodeFilter: can't find referenced class sun.misc.BASE64Decoder
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Base64DecodeFilter: can't find referenced class sun.misc.BASE64Decoder
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Base64DecodeFilter: can't find referenced class sun.misc.BASE64Decoder
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Base64EncodeFilter: can't find referenced class sun.misc.BASE64Encoder
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Base64EncodeFilter: can't find referenced class sun.misc.BASE64Encoder
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Base64EncodeFilter: can't find referenced class sun.misc.BASE64Encoder
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.JEP
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.JEP
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.JEP
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.JEP
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.JEP
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.JEP
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.JEP
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.ParseException
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.ParseException
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.ParseException
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.JEP
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.template.filters.Calc: can't find referenced class org.cheffo.jeplite.ParseException
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.Introspector
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.Introspector
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.BeanInfo
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.BeanInfo
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.IntrospectionException
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.BeanInfo
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.IntrospectionException
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$MadRobotIntrospector: can't find referenced class com.madrobot.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.Introspector
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.Introspector
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.BeanInfo
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.BeanInfo
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.IntrospectionException
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.BeanInfo
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.IntrospectionException
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: com.x5.util.ObjectDataMap$StandardIntrospector: can't find referenced class java.beans.PropertyDescriptor
[2014-10-28 23:33:32 - ContractInfoListActivity]       You should check if you need to specify additional program jars.
[2014-10-28 23:33:32 - ContractInfoListActivity] Warning: there were 55 unresolved references to classes or interfaces.
[2014-10-28 23:33:32 - ContractInfoListActivity]          You may need to specify additional library jars (using '-libraryjars').
[2014-10-28 23:33:32 - ContractInfoListActivity] java.io.IOException: Please correct the above warnings first.
[2014-10-28 23:33:32 - ContractInfoListActivity]    at proguard.Initializer.execute(Initializer.java:321)
[2014-10-28 23:33:32 - ContractInfoListActivity]    at proguard.ProGuard.initialize(ProGuard.java:211)
[2014-10-28 23:33:32 - ContractInfoListActivity]    at proguard.ProGuard.execute(ProGuard.java:86)
[2014-10-28 23:33:32 - ContractInfoListActivity]    at proguard.ProGuard.main(ProGuard.java:492)

1 个答案:

答案 0 :(得分:0)

这是对我有用的解决方案。

将以下内容添加到您的proguard-project.txt文件中

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
        configurer.setDefaultTimeout(-1);
        configurer.setTaskExecutor(asyncTaskExecutor());
    }

    @Bean
    public AsyncTaskExecutor asyncTaskExecutor() {
        // an implementaiton of AsyncTaskExecutor
        return new SimpleAsyncTaskExecutor("async");
    }

}

希望这会有所帮助。