我有基于gradle的android项目,我想在它为我的构建生成后更改mapping.txt文件名。怎么办?更新如何在build.gradle中完成?由于我可以访问我的flavor和其他僵硬,我想根据flavor/构建变体版本创建映射文件名。 最佳答案 更简单的解决方案。applicationVariants.all{variant->if(variant.getBuildType().isMinifyEnabled()){variant.assemble.doLast{copy{fromvariant.mappingFileint
当我使用proguard.cfg导出android项目时,所有引用的.jar文件也会被混淆。如何从混淆中排除其中一些.jar? 最佳答案 如果您不想编辑Ant脚本,您可以在proguard.cfg中为这些外部jar中的类添加-keep选项。例如:-keepclassothercode.**{*;}或者使用包含否定符的正则表达式:-keepclass!mycode.**{*;}尽管如此,标准Ant脚本仍会将所有引用的jar合并到单个输出jar中。 关于android-如何从Proguard
当我尝试使用proguard混淆应用程序时,我总是会遇到这个错误Error:ProGuard:[MyApp]java.io.IOException:Can'tread[C:\ProgramFiles\Java\jdk1.8.0\jre\lib\rt.jar](Can'tprocessclass[com/oracle/net/Sdp$1.class](Unsupportedclassversionnumber[52.0](maximum51.0,Java1.7)))我已经更新了Proguard并检查了项目配置文件,但总是同样的错误。我正在使用最新版本的IntellijIDEA
我正在为我的应用程序使用JacksonJSON处理器。包括这个使用compile'com.fasterxml.jackson.core:jackson-databind:2.4.2'compile'com.fasterxml.jackson.core:jackson-annotations:2.4.2'.而我的proguard配置是。##BEGIN--GooglePlayServicesproguard.txt-keepclass*extendsjava.util.ListResourceBundle{protectedjava.lang.Object[][]getContents()
我的代码在没有proguard的情况下可以正常工作,但是在启用proguard时GSON不起作用。这是代码中不起作用的部分JSONArraymensaje=response.getJSONArray("categorias");//ParsearconGsonCategorias[]categorias=gson.fromJson(mensaje.toString(),Categorias[].class);Log.d("mainfragment","desccategoria"+categorias[0].getDescripcionCategoria());mainfragment
我有一堆使用例如像这样的@Singleton注释@SingletonpublicclassImageCache我想保留。如何配置proguard-keep语句,使其适用于所有具有该注释的类。顺便说一句,就上下文而言,我需要在Android上使用Roboguice的应用程序,这就是我添加标签的原因。可能会帮助其他人。 最佳答案 ProGuard基于带有通配符的类java配置。它确实需要完全限定的类名。这应该有效:-keep@com.google.inject.Singletonpublicclass*
我正在使用Gradle创建具有不同风格的构建。直到现在它一直运行良好,直到我想启用Proguard。我为我的ReleaseBuild启用了minifyEnabled,现在我有一个异常说:"引起:org.gradle.internal.UncheckedException:java.io.IOException:输出jar[.../app/build/intermediates/multi-dex/dev/release/componentClasses.jar]必须在输入jar之后指定,否则为空。"有人知道是什么导致了这个异常吗?我基本上想在发布我的应用程序之前启用ProGuard。下
我的android项目中的proguard.cfg文件出现以下错误。我不知道这个错误说什么。有什么想法吗? 最佳答案 这是SDK工具v11的一个错误。http://code.google.com/p/android/issues/detail?id=16384当Lint产生错误时,转到lint警告View(Window>ShowView>Other>android>LintWarnings)并双击错误以修改proguard.cfg将“keepclasseswithmembernames”重命名为“keepclasseswithmem
如果我愿意的话建立一个项目清理所有二进制文件重新构建它(源/资源等没有改变)。Proguard是否保证提供相同的mapping.txt文件? 最佳答案 ProGuard是确定性的:对于相同的输入,它将生成相同的输出。但是有一个微妙之处:如果操作系统以不同的顺序列出目录中的输入文件(尤其是不在归档中的类文件),那么它们可能会以不同的顺序进行处理,并且输出可以是不同。 关于android-如果源没有更改,Proguard是否保证提供相同的映射?,我们在StackOverflow上找到一个类似
我在这里的时间很短,所以我真的希望这里有人知道如何解决这些问题:[proguard]Warning:android.support.v4.view.ViewConfigurationCompatFroyo:can'tfindreferencedmethod'intgetScaledPagingTouchSlop()'inclassandroid.view.ViewConfiguration[proguard]Note:org.codehaus.jackson.map.deser.BasicDeserializerFactory:can'tfinddynamicallyreference