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

之前写过 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/ 进入配置界面

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

问题及解决方案

1 unable to resolve dependency for:xxx

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

解决:

1. Nexus 允许匿名登录

e6a56911733eddfe13c1f0e86e5d5741.png

这种操作很暴力

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是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'

复制代码

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

复制代码

感谢

关于我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值