【问题标题】:How to develop an android studio plugin that adds a dependency to the build.gradle?如何开发一个向 build.gradle 添加依赖的 android studio 插件?
【发布时间】:2017-10-06 08:31:47
【问题描述】:

我正在尝试构建一个带有 UI 的 Android Studio 插件,以添加 对 build.gradle 文件的依赖项。我们如何通过我的插件以编程方式将一行依赖项添加到 build.gradle 文件中?

【问题讨论】:

    标签: java android-studio intellij-idea build.gradle intellij-plugin


    【解决方案1】:

    试试这些步骤。确保您已将 gradle 依赖项 (<depends>org.jetbrains.plugins.gradle</depends>) 添加到插件项目的 plugin.xml。

    1. 创建一个VirtualFile 代表您不想修改的build.gradle 文件。

      VirtualFile buildFile = LocalFileSystem.getInstance().findFileByPath("absolute path to build.gradle");
      
    2. 为该文件创建GradleBuildModel。

      GradleBuildModel gradleBuildModel = GradleBuildModel.parseBuildFile(buildFile, project);
      
    3. 从GradleBuildModel获取DependenciesModel

      DependenciesModel dependenciesModel = buildModel.dependencies();
      
    4. 添加你的依赖。

      dependenciesModel.addArtifact(COMPILE, "com.squareup.picasso:picasso:2.5.2");
      //import static com.android.tools.idea.gradle.dsl.model.dependencies.CommonConfigurationNames.COMPILE;
      
    5. 最后,应用更改。

      ApplicationManager.getApplication().runWriteAction(() -> {
          CommandProcessor.getInstance().executeCommand(project, () -> {
              gradleBuildModel.applyChanges();
          }, null, null);
      });
      

    【讨论】:

      猜你喜欢
      • 2015-07-22
      • 2016-03-28
      • 2015-12-31
      • 2016-03-22
      • 1970-01-01
      • 2017-05-21
      • 2014-09-15
      • 2021-01-07
      • 2016-10-06
      相关资源
      最近更新 更多