FileNotFoundException on proguard-rules.pro file

前端 未结 6 1236
逝去的感伤
逝去的感伤 2021-01-17 19:05

I\'m using Android Studio v.1.0 My build file :

  buildTypes {

    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile(\'prog         


        
相关标签:
6条回答
  • 2021-01-17 19:50

    If you don't need any specific ProGuard configuration:

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt')
        }
    }
    

    (The warning might happened)

    Or specify "rules" and put it here:

    .../app/proguard-rules.pro
    

    For example I use "Butter Knife" and my proguard-rules.pro looks like:

    -keep class butterknife.** { *; }
    -dontwarn butterknife.internal.**
    -keep class **$$ViewInjector { *; }
    
    -keepclasseswithmembernames class * {
        @butterknife.* <fields>;
    }
    
    -keepclasseswithmembernames class * {
        @butterknife.* <methods>;
    }
    

    Or, possibly you can leave build.gradle file as it is (if you don't like warnings )), And just put an empty proguard-rules.pro to that location.

    0 讨论(0)
  • 2021-01-17 19:52

    I've created my own proguard-android.pro file and that works properly for me :

    -dontwarn org.apache.commons.**
    -dontwarn com.google.**
    -dontwarn com.j256.ormlite**
    -dontwarn org.apache.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.** { *; }
    
    0 讨论(0)
  • 2021-01-17 19:58

    Hope this answer may be helpful in future

    GoTobuild.gradle(Module:app)

    Remove this part from buildTypes

    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    
    0 讨论(0)
  • 2021-01-17 20:00
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    

    Following line in build.gradle file of your app module indicates the script of proguard needs to apply to your release build. It has two files:

    1. proguard-android.txt: is the default android proguard file, can be found in D:\SDK\tools\proguard directory of SDK.
    2. 'proguard-rules.pro': It contains your application specific proguard script. You need to create this file in the root folder of your application. All your application specific proguard should be inside this file.
    0 讨论(0)
  • 2021-01-17 20:00

    please check your 'proguard-rules.pro' inside your root project folder. I your project exported from eclipse you must create 'proguard-rules.pro' inside root project folder.

    0 讨论(0)
  • 2021-01-17 20:08

    A workaround is to download one of the following:

    http://dl.google.com/android/android-sdk_r22.6.2-linux.tgz
    http://dl.google.com/android/android-sdk_r22.6.2-windows.zip
    http://dl.google.com/android/android-sdk_r22.6.2-macosx.zip
    

    And copy over the following files:

    tools/hprof-conv
    tools/support/annotations.jar
    tools/proguard
    
    0 讨论(0)
提交回复
热议问题