Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅对某些包或我的文件启用Minify_Java_Android_Gradle_Android Gradle Plugin_Couchbase Lite - Fatal编程技术网

Java 仅对某些包或我的文件启用Minify

Java 仅对某些包或我的文件启用Minify,java,android,gradle,android-gradle-plugin,couchbase-lite,Java,Android,Gradle,Android Gradle Plugin,Couchbase Lite,我正在编写一个android项目,并试图将其编译发布。 在我的项目中,我使用第三方项目,如couchbase lite buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }

我正在编写一个android项目,并试图将其编译发布。 在我的项目中,我使用第三方项目,如couchbase lite

 buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules.pro'
        }
    }
我想在gradle中使用minifyEnabled=true,但签名的APK无法运行, 这似乎是couchbase使用反射的问题,并且找不到其中一个属性

  • 有没有办法将gradle配置为仅在我的项目文件上启用minifyEnabled
  • 我可以将其配置为仅启用某些包吗

  • 谢谢大家!

    您可以使用Proguard配置文件中的
    -keep
    规则排除正在使用反射的类,这些类在运行时可能会导致问题

    -keep public class com.example.somepackage.*
    

    使用上述规则,所有与
    公共类com.example.somepackage.*
    匹配的类都将被排除在缩小和模糊化之外。

    您能否详细说明如何
    将minifyEnabled=false设置为构建应用程序库的.gradle。
    ?我假设添加到你的应用程序的
    build.gradle
    就是这样做的-添加到
    android{buildTypes{release{minifyEnabled true…}}}
    ,对吗?@BrianHong这是一个古老的、相当不正确的答案,更新了。@frogato有可能采取其他方法吗?与默认情况一样,排除所有类,并且仅包括某些类。