【问题标题】:Gradle process manifest with new Manifest MergerGradle 流程清单与新的清单合并
【发布时间】:2014-11-20 14:23:31
【问题描述】:

我一直在使用此代码从 Manifest 文件中删除我不想要的权限,但是使用新的 Merger 这不再可能,而且我不具备 gradle 的知识来修改它。

applicationVariants.all { variant ->
        variant.processManifest.doLast {
            println("configuring AndroidManifest.xml removing READ_CALL_LOG");

            def manifestFile = new File("${buildDir}/intermediates/manifests/${variant.dirName}/AndroidManifest.xml")
            def content = manifestFile.getText()
            def updatedContent = content.replaceAll("<android:uses-permission android:name=\"android.permission.READ_CALL_LOG\" />", "")
            manifestFile.write(updatedContent)
        }
        variant.processResources.manifestFile = new File("${buildDir}/intermediates/manifests/${variant.dirName}/AndroidManifest.xml")

}

我尝试了类似的方法,但它不起作用

    applicationVariants.all { variant ->
        variant.outputs.each { output ->
                def manifestOutFile = output.processManifest.manifestOutputFile
                def newFileContents = manifestOutFile.getText('UTF-8').replace("<android:uses-permission android:name=\"android.permission.READ_CALL_LOG\" />", "")
                manifestOutFile.write(newFileContents, 'UTF-8')
            }
       }

我怎样才能通过新的合并实现同样的目标?

提前致谢。

【问题讨论】:

    标签: android gradle manifest


    【解决方案1】:
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
               output.processManifest.doLast{
                def manifestOutFile = output.processManifest.manifestOutputFile
                def newFileContents = manifestOutFile.getText('UTF-8').replace("<android:uses-permission android:name=\"android.permission.READ_CALL_LOG\" />", "")
                manifestOutFile.write(newFileContents, 'UTF-8')
            }
       }
    }
    

    这可以很容易地帮助你。

    【讨论】:

      【解决方案2】:

      为了回答我自己的问题,我最终通过将 gradle 文件中的 TargeSdkVersion 设置为高于 15 的版本来解决问题,这就是 Android 添加读取呼叫日志权限的原因。这样就无需手动处理和删除清单。

      【讨论】:

        猜你喜欢
        • 2021-12-16
        • 1970-01-01
        • 1970-01-01
        • 2021-05-25
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多