当前位置: 首页 > 面试题库 >

ProGuard + Maven与Java 7

步致远
2023-03-14
问题内容

我正在尝试使ProGuard成为我们Maven构建过程的一部分。问题在于,官方的Maven插件正在使用不支持Java 7的ProGuard
4.3。是否有任何简便的方法可以使该插件改为使用Proguard 4.8?

我试过为插件指定依赖关系,但ProGuard似乎为Maven模块提供了新结构(proguard-base,proguard-
parent等),因此插件不能使用任何大于4.4的版本。这是我当前的pom外观:

 <plugin>
                <groupId>com.pyx4me</groupId>
                <artifactId>proguard-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>proguard</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <proguardVersion>4.8</proguardVersion>
                    <obfuscate>true</obfuscate>
                    <options>
                        <option>-allowaccessmodification</option>
                        <option>-keep public class com.degoo.ui.ClientBackendStarter { public *; public static *; }</option>
                    </options>
                    <injar>${project.build.finalName}.jar</injar>
                    <outjar>${project.build.finalName}-small.jar</outjar>
                    <outputDirectory>${project.build.directory}</outputDirectory>
                    <libs>
                        <lib>${java.home}/lib/rt.jar</lib>
                        <lib>${java.home}/lib/jsse.jar</lib>
                    </libs>
                    <addMavenDescriptor>false</addMavenDescriptor>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>net.sf.proguard</groupId>
                        <artifactId>proguard</artifactId>
                        <version>4.8</version>
                        <scope>runtime</scope>
                    </dependency>
                </dependencies>
            </plugin>

有什么建议?


问题答案:

我在这里找到了解决方案:https :
//groups.google.com/forum/?fromgroups# ! topic/pyx4me-
users/NUZi1oySvQE。基本上,我必须下载ProGuard并将其安装到本地存储库。



 类似资料:
  • 问题内容: 我正在尝试使Maven与ProGuard一起工作。 我要实现以下目标: 在我的源文件上运行ProGuard并生成混淆的类 创建一个引用主类的清单文件,以便我可以将其作为jar执行 解压缩所有关联的库jar,并创建一个包含所有库的巨大jar。该文件只能与.class和.xml文件联系。 将它们组装为.zip和tar.gz文件,其中包括各种README.txt文件等。 到目前为止,我有这样

  • 我在我的Android项目中使用了ProGuard的批判主义库。当我编译我的应用程序,我得到这个错误在控制台: 警告:crittercism.android.c:在类中找不到引用的方法org.json.JSONArray put(long)org.json.JSONArray 我可以添加一个-dontwarn行来避免这个错误,但是critercism不起作用。我已经阅读了Critercism文档,

  • 从Gradle Plugin for ProGuard version 4.10之后就开始支持ProGuard。ProGuard插件是自动添加进来的。如果Build Type的runProguard属性被设置为true,对应的task将会自动创建。 android { buildTypes { release { runProguard true

  • 我在maven项目上运行proguard时遇到问题。我有这个项目的测试和发布版本。发布版本号并混淆代码。当我在测试模式下运行我的android项目时,一切都很顺利,但当我切换到发布模式时,异常被抛出。我的Maven vesrion是Maven 3.2。1、AndroidmavenPlugin 3.6。0和JDK1.6 下面你可以看到我的项目的pom文件 http://maven.apache.or

  • 打开ProGuard后,我无法连接到IMAPSSLStore。以下是logcat窗口中的一些内容: 好吧,她写的就是这些!I1MB111841581WIL IMAP Debug:auth:xoauth IMAP Debug:auth:PLAIN IMAP Debug:auth:PLAIN IMAP Debug:auth:PLAIN-clienttoken Debug:protocolConnect

  • ProGuard 是一个免费的 Java类文件的压缩,优化,混肴器。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、字段和方法 。eclipse已经把Proguard集成在一起了。