【奇技淫巧】AndroidStudio Nexus3.x搭建Maven私服遇到问题及解决方案

【奇技淫巧】AndroidStudio Nexus3.x搭建Maven私服遇到问题及解决方案网上文章很多,下面说一下搭建过程中出现的问题。 1. Nexus 允许匿名登录 2. 引用依赖配置账号密码 5 deploy 时出现 500, ReasonPhrase: Internal Privoxy Error.

之前写过 Android Studio 多个项目依赖同一个模块的用法
不过在使用中遇到了几个问题,编译速度慢,总是显示出关联项目。
所以决定将公共模块aar使用 maven 私服管理,在此记录之。

Nexus3 下载与安装

官网
下载后解压,这里以windows为例
打开 D:\nexus-3.20.1-01-win64\nexus-3.20.1-01\bin 目录
在该目录下执行

nexus.exe /run

见到 Started Sonatype Nexus OSS 3.20.1-01 字样即成功
打开 http://localhost:8081/ 进入配置界面

详情参考 Maven私服Nexus 3.x搭建

网上文章很多,下面说一下搭建过程中出现的问题。

问题及解决方案

1 unable to resolve dependency for:xxx

正常配置并引入私服的依赖,但是提示无法resolve该依赖

解决

1. Nexus 允许匿名登录

勾选允许匿名登录

这种操作很暴力

2. 引用依赖配置账号密码

project 的 build.gradle allprojects->repositories中配置maven url 的同时配置用户名密码

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            credentials {
                username 'username'
                password 'password'
            }
            url 'http://localhost:8081/repository/Android/'
        }
    }
}

2 aar中的class.jar为空

成功引入依赖后发现找不到aar中的类

详情参考 解决aar混淆后包里是空的问题,android混淆讲解

解决

打出的aar是release的,所以关闭release的混淆,或者想暴露出的类禁止混淆即可

3 错误: 编码GBK的不可映射字符

生成 java doc 时提示错误: 编码GBK的不可映射字符

在module的build.gradle中配置

tasks.withType(Javadoc) {
    options.addStringOption('Xdoclint:none', '-quiet')
    options.addStringOption('encoding', 'UTF-8')
}

4 javadoc: 错误 – 非法的程序包名称

在 Root Project 下的 build.gradle 文件中 buildscript 下的 dependencies 中添加:

classpath 'org.jetbrains.dokka:dokka-android-gradle-plugin:0.9.17'

module 的 build.gradle 应用插件

apply plugin: 'org.jetbrains.dokka-android'

详情参考 使用Gradle打包Kotlin项目代码、生成Kotlin代码文档

5 deploy 时出现 500, ReasonPhrase: Internal Privoxy Error.

 > Failed to deploy artifacts: Could not transfer artifact 
cn.example.baselib:library-base:aar:0.0.1 
from/to remote (http://localhost:8081/repository/Android/): 

Failed to transfer file:
http://localhost:8081/repository/Android/cn/example/baselib/library-base/0.0.1/library-base-0.0.1.aar. 
Return code is: 500, ReasonPhrase: Internal Privoxy Error.

解决: 关闭Android Studio代理

windows在C:\Users\Administrator\.gradle\gradle.properties文件

## For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Mon Jan 06 13:56:29 CST 2020
移除代理
#systemProp.http.proxyHost=127.0.0.1
#systemProp.http.proxyPort=1080

感谢

Android Studio将项目发布到Maven仓库(3种方式最新最全)

Kotlin与Java混编项目的Nexus私有仓库持续交付与集成

Maven私服Nexus 3.x搭建

解决aar混淆后包里是空的问题,android混淆讲解

使用Gradle打包Kotlin项目代码、生成Kotlin代码文档

雕虫晓技(四) 搭建私有Maven仓库(带容灾备份)


关于我


我是 Fly_with24

今天的文章【奇技淫巧】AndroidStudio Nexus3.x搭建Maven私服遇到问题及解决方案分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16987.html

(0)
编程小号编程小号

相关推荐

发表回复

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