如何将谷歌服务插件导入库?



我有两个应用程序变体:谷歌和中国。但中国变种不需要火力基地。如果我将谷歌服务插件导入应用程序,那么中国 apk 会包含它。这个apk抛出

java.lang.IllegalAccessError-"Method 'void android.support.v4.content.ContextCompat.<init>()' is inaccessible to class 'com.google.firebase.iid.zzg' 
(declaration of 'com.google.firebase.iid.zzg' appears in ". 

所以,我想让谷歌服务插件到库 A。在应用程序中,我可以使用谷歌编译A。但是现在插件仅使用与包名称匹配的客户端对象(对于当前构建类型(。如何将谷歌服务插件导入库?

getGradle().getTaskGraph().each {
    it.addTaskExecutionListener(new TaskExecutionListener() {
        @Override
        void beforeExecute(Task task) {
            if (task.name.contains("GoogleServices")) {
                Field field =  task.class.getField("packageName")
                field.setAccessible(true)
                field.set(task,"com.aaa.bbb.ccc")
            }
        }
        @Override
        void afterExecute(Task task, TaskState state) {
        }
    })
}

相关内容

  • 没有找到相关文章

最新更新