美文网首页
使用android studio开发gradle插件(一)

使用android studio开发gradle插件(一)

作者: 和平菌 | 来源:发表于2017-10-30 16:10 被阅读0次

    目标是使用android studio开发gradle插件来打印hello word

    第一步:插件项目

    1、首先使用as来创建一个普通Android项目,就是一个空项目,完全没有用
    我们的插件项目是一个Module,所以我们创建好项目后不用管,然后File->New->Module->Android Library来创建我们的插件类库。

    2、创建好类库以后,把src里面的文件全部删除,然后照着下面的步骤创建一些文件和文件夹:
    src目录下创建文件夹main
    main目录下创建两个文件夹groovy和resources
    resources下创建文件夹META-INF,再在META-INF下创建文件plugin.hello.properties,注意这个plugin.hello

    接下来是创建一个package,跟java创建是一样的,是在groovy这个目录下(实际上也就是一层一层的创建文件夹了)
    在package里创建一个文件叫PluginImpl.groovy,类似java里面创建类文件,只不过扩展名不一样

      大致是这个结构
    
    Paste_Image.png

    这样文件夹和文件就创建好了。

    2.编写代码

    import org.gradle.api.Plugin
    import org.gradle.api.Project
    
    public class PluginImpl implements Plugin<Project> {
        void apply(Project project) {
            project.task('testTask') << {
                println "Hello gradle plugin"
            }
        }
    }
    

    大致的意思就是创建了一个task,叫任务也好,方法也行。名字叫testTask,里面的代码就是打印Hello gradle plugin这句话

    有点像java代码

    3.写配置文件
    还记得创建的plugin.hello.properties这个文件吗,这个就是配置文件

    implementation-class=[你的包名].gradle.PluginImpl
    

    [你的包名].gradle.PluginImpl 这个就是你写的那个类文件的包名+类名(暂且跟java一样叫类吧)
    PluginImpl.groovy 就是这个文件里面的申明

    4.上面3步完成以后,插件就算编写完了,这一步要做的是把插件发布到maven,让应用里可以使用,我们把插件发布到本地的maven仓库里。

    我在类库项目下创建了一个gradle.properties文件,也就是gradle的配置文件,在里面申明一些常量。

    #包信息
    ARTIFACTID = helloPulgins
    LIBRARY_VERSION = 1.0.0
    GROUP_ID = com.hello.gradle.plugin
    LOCAL_REPO_URL=file:/D:/service/android-studio-ide-3.0/android-studio/gradle/m2repository
    

    注意这个GROUP_ID和ARTIFACTID的值以后要用的。

    然后是类库下的build.gradle文件:

    apply plugin: 'groovy'
    apply plugin: 'maven'
    
    dependencies {
        compile gradleApi()
        compile localGroovy()
    }
    
    repositories {
        mavenCentral()
    }
    
    
    uploadArchives {
        repositories {
            mavenDeployer {
                // 本地仓库路径
                repository(url:LOCAL_REPO_URL)
                pom.groupId = GROUP_ID
                pom.artifactId = ARTIFACTID
                pom.version = LIBRARY_VERSION
            }
        }
    }
    

    最终的文件结构如下:

    Paste_Image.png

    5、进行上传
    我们在右边的gradle操作台上看到类库然后根据下面的结构展开

    Paste_Image.png

    Tasks --> upload --> uploadArchives

    双击这个uploadArchives,我们的插件就会发布上传到maven仓库中了。

    目标达成。

    相关文章

      网友评论

          本文标题:使用android studio开发gradle插件(一)

          本文链接:https://www.haomeiwen.com/subject/pojppxtx.html