Gradle的maven使用「建议收藏」

Gradle的maven使用「建议收藏」基础lib创建过程1.创建工程createanewprojectEmptyproject2新建一个 Test组件3.新建一个窗体4.新建一个java类构建一个静态的方法addpackagecom.miex.sdk.test;publicclassMyTestModle{/***@parama*@paramb*@return*/publicstaticdoubleadd

大家好,欢迎来到IT知识分享网。

0. 创建一个name为“test”的Module,完成Module的编写

1. 构建maven

1.1 修改build.gradl(Module:My_Appliction.test,test的build文件),内容如下

plugins { 
   
    id 'com.android.library'
    // TODO step1:add id
    id 'maven-publish'
}

 //TODO step2:引入任务包
task generateSourcesJar(type: Jar) { 
   
    from android.sourceSets.main.java.srcDirs
    classifier 'sources'
}


//TODO step3:add publishing config
publishing { 
   
    publications { 
   
        maven(MavenPublication) { 
   
            groupId = 'com.miex.sdk.test'       //组id:是具有相同功能的Module放一个组?
            artifactId = 'test'     //项目名称
            version = '1.2'   //项目版本号
            afterEvaluate { 
    artifact(tasks.getByName("bundleReleaseAar")) }  // 依赖 bundleReleaseAar 任务,并上传其产出的aar
            artifact generateSourcesJar  // 上传source,这样使用方可以看到方法注释(上传包含注释的源码,否则源码上传时会被省略掉?)
        }
    }
    repositories { 
   
        // 定义上传目标库时你的凭证和目标库的url
        maven { 
   
             credentials { 
   
                 username '6142ae6250a118************'
                 password 'ymPq-]0G*********'
             }
             url 'https://packages.aliyun.com/maven/repository/213***-rele***-rE***'
                     }
    }
}


android { 
   
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig { 
   
        minSdkVersion 26
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
    }

    buildTypes { 
   
        release { 
   
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions { 
   
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies { 
   
    //TODO step4:add implementation fileTree
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

1.2 点击下图的Sync Now

在这里插入图片描述

1.3 构建

最后运行gradle生成的publish 文件 即可生成并上传lib组件;
在这里插入图片描述

可能遇到的问题:

  • JAVA 版本的不合适,需要下载安装合适的SDK
  • Gradle没有publish
    没有Task展示,File->Settings->Experimental->Do not build Gradle task list during Gradle sync 去掉勾选Ok 关闭,然后在sync下就有了

2. 导入使用包

2.1 配置 build.gradle(Project:My_Application2)

buildscript { 
   
    repositories { 
   
        google()
        mavenCentral()
    }
    dependencies { 
   
        classpath "com.android.tools.build:gradle:4.2.2"
    }
}

allprojects { 
   
    repositories { 
   
        google()
        //TODO step1
        maven { 
   url 'https://packages.aliyun.com/maven/repository/2138355-release-rE2pVD/'}
        mavenLocal()
        mavenCentral()
        jcenter()
    }
}

task clean(type: Delete) { 
   
    delete rootProject.buildDir
}

2.2 配置build.gradle(Project:My_Application2.app)

dependencies { 
   
	//TODO step1
    implementation 'com.miex.sdk.test:test:1.2'
}

2.3 使用

import com.miex.swust.test.TestClass;

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/24887.html

(0)
上一篇 2023-07-26 15:00
下一篇 2023-08-15 16:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信