我正在使用Android Studio v.1.0我的构建文件:
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
但是,当我尝试进行发行版本构建时,出现错误:错误:任务’:app:proguardRelease’的执行失败。
java.io.FileNotFoundException:F:.... \ app \ proguard-rules.pro(未找到文件)
我认为,proguard-android.txt是Android SDK的一部分,对吗?
为什么Android Studio无法找到它?
我也尝试过proguard-android.pro-相同的结果
我已经创建了自己的proguard-android.pro文件,并且对我来说可以正常使用:
-dontwarn org.apache.commons.**
-dontwarn com.google.**
-dontwarn com.j256.ormlite**
-dontwarn org.apache.html" target="_blank">http**
-keepattributes SourceFile,LineNumberTable
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
-keepattributes Signature
# GSON Library
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-keep class sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
# Google Map
-keep class com.google.android.gms.maps.** { *; }
-keep interface com.google.android.gms.maps.** { *; }
如果我们想在打包的时候进行代码混淆,就需要在proguard-rules.pro中配置代码混淆规则. 常用的代码混淆规则: # 在这里添加项目的代码混淆规则 # 混淆规则请参考:http://proguard.sourceforge.net/index.html#manual/usage.html ##################### 一般使用默认 ###################
我知道如何混淆可执行的jar文件,因为它有一个主类。但是我正在尝试创建我的API(已经完成了),我只需要混淆代码。问题是,每当我尝试使用Proguard(一个众所周知的java模糊器)模糊jar文件时,它就会给我一个与“keep”有关的错误。我正在从Proguard运行proguard-gui,在Eclipse中,我将项目导出为一个普通的jar文件(非可执行文件),并试图混淆该jar文件。另外,我
我想混淆我的web应用程序构建为WAR存档,因为这个敏感的应用程序第一次部署在我们的数据中心之外。我尝试使用Proguard GUI工具来混淆输入war,包括UI应用程序所需的所有服务jar,以及其他外部依赖项。虽然Proguard在一些警告下成功运行,例如库类[javax.servlet.unavailableException]的定义重复,但输出war不包含类,而是包含库jar和web.xml
我正试图使用ProGuard混淆我的JAR文件。 明确地我有一个Java/Spring web应用程序。所以我制作了一个WAR文件。 我已将所有类从WAR文件的/WEB-INF/classes文件夹复制到一个新的JAR文件中。 我启动了ProGuard GUI,并选择了我的JAR文件作为输入。我指定了一个新的输出。JAR文件。我添加了所有的 /WEB-INF/lib/*. jar文件作为"库罐"。
伙计们,我试图使用proGuard-maven-plugin混淆一个. jar应用程序。 当我试图执行混淆过程时,我会收到错误消息,说明有意想不到的类。 我正在使用Spring Boot 1.4.1。发布和宣传Maven插件2.0.13。 这是我的前卫。形态 pom。xml文件。我只是通过插件通知配置。 然而,在执行过程中,我得到了以下返回我的应用程序中的所有类。 以及ProGuard的最终输出。
添加后我收到了这些消息 到我的文件,这让我认为proGuard和它的库安装得很好。但是尝试使用或检查只会给我一个错误 或 我还尝试将同样的内容放入还是没有运气。还尝试将其置于具有相同的结果。如果我在SBT提示符下尝试,它会告诉我 但我似乎根本无法运行它。我做错了什么?