块模板(https://code.google.com/p/chunk-templates/)功能与我的调试版本一致。 如果我使用相同的代码进行发布构建,它就会停止工作。如果我在我的发布版本中禁用proguard,一切都会再次运行。所以我确信它的程序在优化过程中从库中删除了太多。
虽然我发布了第一个版本,但是有一些关于块模板代码的错误消息。 使用以下progurad语句能够生成发布版本(-dontwarn com.x5。**)。经过一些测试后,我发现块模板功能无效。
有没有办法阻止proguard处理库罐?看起来proguard不是 做配置文件告诉它做的事情。
[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)
答案 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");
}
}
希望这会有所帮助。