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

proguard-rules.pro文件上的FileNotFoundException

曾洲
2023-03-14
问题内容

我正在使用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提示符下尝试,它会告诉我 但我似乎根本无法运行它。我做错了什么?