美文网首页
Android Studio gradle发布module到ma

Android Studio gradle发布module到ma

作者: 馨予务心竞 | 来源:发表于2022-03-11 17:29 被阅读0次

    参考:Android Studio依赖管理与Nexus私服搭建

    关闭防火墙 默认端口8081:

    systemctl stop firewalld

    一:创建仓库

    参考资料:

    http://books.sonatype.com/nexus-book/3.0/reference/install.html#installation-java

    1.1创建自己的仓库

    1.1.1创建用户

    首先使用管理员密码登陆到 Nexus私服 并添加用户:

    nexus默认的用户名:admin

    密码:初始密码不是admin123,是保存在nexus安装目录下的sonatype-workadmin.password文件中,打开文件可以看到如下内容:

    注:内容即为密码明文,而非加密后的结果,直接复制登录即可。

    第一次输入账号密码后,会提示修改初始密码):

                                                                                                            登录

                                                                                                   创建用户

    使用新创建的用户登录Nexus并创建仓库:

    二:Modul仓库发布:

    在需要发布的Modul下build.gradle中添加uploadArchives任务(

    gradle发布脚本:

    /**②.发布到私有服务器maven仓库*/

    apply plugin: 'maven'

    //打包main目录下代码和资源的 task

    task androidSourcesJar(type: Jar) {

        classifier = 'sources'

        from android.sourceSets.main.java.srcDirs

    }

    //配置需要上传到maven仓库的文件

    artifacts {

        archives androidSourcesJar

    }

    //上传到Maven仓库的task

    uploadArchives {

        repositories {

            mavenDeployer {

                //指定maven仓库url

                repository(url: "http://localhost:8081/nexus/content/repositories/releases/"){

                //nexus登录默认用户名和密码

                authentication(userName: "admin", password: "admin123")

                }

                pom.project {

                    pom.groupId = "com.github.itxiaox.utils"// 唯一标识(通常为模块包名,也可以任意)

                    pom.artifactId = "android-utils" // 项目名称(通常为类库模块名称,也可以任意)

                    pom.version = "1.0.0" // 版本号

                }

            }

        }

    }

    编译脚本后,双击上传

    至此gradle发布依赖库到maven私服成功。

    三:使用

    1.配置nexus仓库访问权限,直接设置允许匿名访问

    和使用本地仓库依赖一样,我们告诉gradle依赖包仓库的位置,在项目根目录下build.gradle中添加:

    allprojects {

        repositories {

            jcenter()

            //私有服务器仓库地址

            maven {

                url 'http://127.0.0.1:8081/nexus/content/repositories/releases/'

            }

        }

    }

    然后在需要使用的module的build.gradle文件中添加:

    implementation 'com.github.itxiaox.utils:android-utils:1.0.0'

    3.2按要求进行配置才能进行依赖。

    参考:Nexus私服添加用户名密码凭据访问的配置方法

    前言

    默认情况下,Nexus私服的仓库是允许匿名(anonymous)访问的,也就是任何开发者只要知道你的仓库地址,都可以远程依赖你发布到仓库的库。既然是私服,可能有些库不想要给其他人访问,可以通过设置凭据访问来限制用户访问远程依赖库,最简单的一种就是用户名密码凭据访问。

    配置方法

    Nexus 服务端配置

    第一步:打开远程仓库,使用有配置管理的账户登录,打开设置页面;

    第二步:定位到“Security-Anonymous”,将“Allow anonymous users to access the server”勾选去掉,保存更改。

    第三步:定位到“Security-Roles”,新建一个可以访问仓库的角色

    第四步:配置角色,添加可访问的仓库,保存角色信息

    第五步:定位到“Security-Users”,添加用户

    第六步:给新建的用户赋予刚才新建的角色,保存用户。

    Gradle配置maven依赖

    打开AndroidStudio项目根目录下的build.gradle,在maven节点下添加credentials配置,添加username和password两个两个参数配置即可。

    repositories {

        maven {

            url "http://192.168.8.37:8081/repository/RastarGameSdkOversea/" // 具体仓库

    credentials {

    username = 'uname'

    password = 'pwd'

    }

        }

    }

    对于其他Maven的配置,跟以上类似,只需要在仓库配置里添加用户名和密码的配置即可。

    相关文章

      网友评论

          本文标题:Android Studio gradle发布module到ma

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