• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Android Studio gradle:7.x环境下依赖库的创建

武飞扬头像
慢行的骑兵
帮助1

一.前言

二.过程

  • 如果一切很顺利,按照上面的参考实践就足以且用不了多少时间,但是,自己在实践的过程中遇到一些小插曲(好记性不如烂笔头,上一次用jitpack是数年前了,啥问题都没碰到),在此记录一下。

2.1.操作步骤

  • (按照平时使用AS的默认方式)创建project和创建moudle(通用的代码写在这里);
  • 上传项目到github,创建release和使用jitpack(按照参考文章的来即可)

2.2.问题出现

学新通

  • v1.0版本的提示失败,Log正下方对应有可查看的日志文件
Build starting...
Start: Tue Sep 27 03:29:54 UTC 2022 a62bab1bf7b6
Git:
v1.0-0-g5f1dee0
commit 5f1dee030fe16e235b51b14db684bd9b50397226
Author: jack 
Date:   Tue Sep 27 11:24:42 2022  0800

    init


Init SDKMan
Found Android manifest
Android SDK version: . Build tools: 
Found gradle
Gradle build script
Found gradle version: 7.3.3.
Using gradle wrapper
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Downloading https://services.gradle.org/distributions/gradle-7.3.3-bin.zip
.10%.20%.30%.40%.50%.60%.70%.80%.90%.100%

------------------------------------------------------------
Gradle 7.3.3
------------------------------------------------------------

Build time:   2021-12-22 12:37:54 UTC
Revision:     6f556c80f945dc54b50e0be633da6c62dbe8dc71

Kotlin:       1.5.31
Groovy:       3.0.9
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          1.8.0_292 (Private Build 25.292-b10)
OS:           Linux 4.18.0-25-generic amd64

0m3.507s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~16.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
Getting tasks: ./gradlew tasks --all
WARNING:  > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
Please specify Java version in jitpack.yml
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
JVM:          11.0.2 (Oracle Corporation 11.0.2 9)
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Tasks: 

 ⚠️   WARNING:
 Gradle 'publishToMavenLocal' task not found. Please add the 'maven-publish' or 'maven' plugin.
 See the documentation and examples: https://docs.jitpack.io

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
/home/jitpack/build/lib_wrapper_mvvm/build.gradle has component: release
Running: ./gradlew clean -Pgroup=com.github.MrFishC -Pversion=v1.0 -xtest -xlint publishToMavenLocal

> Configure project :lib_wrapper_mvvm
WARNING:Software Components will not be created automatically for Maven publishing from Android Gradle Plugin 8.0. To opt-in to the future behavior, set the Gradle property android.disableAutomaticComponentCreation=true in the `gradle.properties` file or use the new publishing DSL.
Checking the license for package Android SDK Build-Tools 30.0.3 in /opt/android-sdk-linux/licenses
License for package Android SDK Build-Tools 30.0.3 accepted.
Preparing "Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)".
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" ready.
Installing Android SDK Build-Tools 30.0.3 in /opt/android-sdk-linux/build-tools/30.0.3
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" complete.
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" finished.
Checking the license for package Android SDK Platform 32 in /opt/android-sdk-linux/licenses
License for package Android SDK Platform 32 accepted.
Preparing "Install Android SDK Platform 32 (revision: 1)".
"Install Android SDK Platform 32 (revision: 1)" ready.
Installing Android SDK Platform 32 in /opt/android-sdk-linux/platforms/android-32
"Install Android SDK Platform 32 (revision: 1)" complete.
"Install Android SDK Platform 32 (revision: 1)" finished.

> Task :clean UP-TO-DATE
> Task :app:clean UP-TO-DATE
> Task :lib_wrapper_mvvm:clean UP-TO-DATE
> Task :lib_wrapper_mvvm:preBuild UP-TO-DATE
> Task :lib_wrapper_mvvm:preDebugBuild UP-TO-DATE
> Task :lib_wrapper_mvvm:compileDebugAidl NO-SOURCE
> Task :lib_wrapper_mvvm:mergeDebugJniLibFolders
> Task :lib_wrapper_mvvm:mergeDebugNativeLibs NO-SOURCE
> Task :lib_wrapper_mvvm:stripDebugDebugSymbols NO-SOURCE
> Task :lib_wrapper_mvvm:copyDebugJniLibsProjectAndLocalJars
> Task :lib_wrapper_mvvm:dataBindingMergeDependencyArtifactsDebug FAILED
6 actionable tasks: 3 executed, 3 up-to-date
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':lib_wrapper_mvvm:dataBindingMergeDependencyArtifactsDebug'.
> Could not resolve all files for configuration ':lib_wrapper_mvvm:debugCompileClasspath'.
   > Could not find candroidx.lifecycle:lifecycle-livedata-ktx:2.6.0-alpha01.
     Required by:
         project :lib_wrapper_mvvm

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 30s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Archive: YcrMvvmBase:lib_wrapper_mvvm:unspecified
Publication: YcrMvvmBase:lib_wrapper_mvvm:unspecified
Build tool exit code: 0
Looking for artifacts...
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Looking for pom.xml in build directory and ~/.m2
Found artifact: YcrMvvmBase:lib_wrapper_mvvm:unspecified
2022-09-27T03:31:24.411539898Z
Exit code: 0

⚠️ ERROR: No build artifacts found
Expected artifacts in: $HOME/.m2/repository/YcrMvvmBase/lib_wrapper_mvvm/unspecified

学新通
  • 对待日志,只是稍微憋了一眼,都没有仔细看,就开始各种搜索起来,尝试了两种其它文章的方案,更多说的是版本的问题,存在xxx坑或着其它。在试的过程中感觉不是那么回事,于是又回到了jitpack中的日志,发现内部有warning和exception(gradle依赖copy的时候,出现了错误),warning可以不用处理。
  • 修复excpetion后,再次操作,发布成功,对比一下日志
Build starting...
Start: Tue Sep 27 06:17:24 UTC 2022 bb6e5158c10b
Git:
v1.1-0-g629cae7
commit 629cae788a50a47c1bea8c9e4ed24c1b549bd2a5
Author: jack 
Date:   Tue Sep 27 14:15:10 2022  0800

    update gradle dependence exception


Init SDKMan
Found Android manifest
Android SDK version: . Build tools: 
Found gradle
Gradle build script
Found gradle version: 7.3.3.
Using gradle wrapper
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Downloading https://services.gradle.org/distributions/gradle-7.3.3-bin.zip
.10%.20%.30%.40%.50%.60%.70%.80%.90%.100%

------------------------------------------------------------
Gradle 7.3.3
------------------------------------------------------------

Build time:   2021-12-22 12:37:54 UTC
Revision:     6f556c80f945dc54b50e0be633da6c62dbe8dc71

Kotlin:       1.5.31
Groovy:       3.0.9
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          1.8.0_292 (Private Build 25.292-b10)
OS:           Linux 4.14.63-xxxx-std-ipv6-64 amd64

0m2.976s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~16.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
Getting tasks: ./gradlew tasks --all
WARNING:  > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
Please specify Java version in jitpack.yml
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
JVM:          11.0.2 (Oracle Corporation 11.0.2 9)
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Tasks: 

 ⚠️   WARNING:
 Gradle 'publishToMavenLocal' task not found. Please add the 'maven-publish' or 'maven' plugin.
 See the documentation and examples: https://docs.jitpack.io

Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
/home/jitpack/build/lib_wrapper_mvvm/build.gradle has component: release
Running: ./gradlew clean -Pgroup=com.github.MrFishC -Pversion=v1.1 -xtest -xlint publishToMavenLocal
Checking the license for package Android SDK Build-Tools 30.0.3 in /opt/android-sdk-linux/licenses
License for package Android SDK Build-Tools 30.0.3 accepted.
Preparing "Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)".
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" ready.
Installing Android SDK Build-Tools 30.0.3 in /opt/android-sdk-linux/build-tools/30.0.3
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" complete.
"Install Android SDK Build-Tools 30.0.3 (revision: 30.0.3)" finished.
Checking the license for package Android SDK Platform 32 in /opt/android-sdk-linux/licenses
License for package Android SDK Platform 32 accepted.
Preparing "Install Android SDK Platform 32 (revision: 1)".
"Install Android SDK Platform 32 (revision: 1)" ready.
Installing Android SDK Platform 32 in /opt/android-sdk-linux/platforms/android-32
"Install Android SDK Platform 32 (revision: 1)" complete.
"Install Android SDK Platform 32 (revision: 1)" finished.
> Task :clean UP-TO-DATE
> Task :app:clean UP-TO-DATE
> Task :lib_wrapper_mvvm:clean UP-TO-DATE
> Task :lib_wrapper_mvvm:preBuild UP-TO-DATE
> Task :lib_wrapper_mvvm:preDebugBuild UP-TO-DATE
> Task :lib_wrapper_mvvm:compileDebugAidl NO-SOURCE
> Task :lib_wrapper_mvvm:mergeDebugJniLibFolders
> Task :lib_wrapper_mvvm:mergeDebugNativeLibs NO-SOURCE
> Task :lib_wrapper_mvvm:stripDebugDebugSymbols NO-SOURCE
> Task :lib_wrapper_mvvm:copyDebugJniLibsProjectAndLocalJars
> Task :lib_wrapper_mvvm:dataBindingMergeDependencyArtifactsDebug
> Task :lib_wrapper_mvvm:compileDebugRenderscript NO-SOURCE
> Task :lib_wrapper_mvvm:dataBindingMergeGenClassesDebug
> Task :lib_wrapper_mvvm:generateDebugResValues
> Task :lib_wrapper_mvvm:generateDebugResources
> Task :lib_wrapper_mvvm:packageDebugResources
> Task :lib_wrapper_mvvm:dataBindingTriggerDebug
> Task :lib_wrapper_mvvm:generateDebugBuildConfig
> Task :lib_wrapper_mvvm:parseDebugLocalResources
> Task :lib_wrapper_mvvm:processDebugManifest
> Task :lib_wrapper_mvvm:javaPreCompileDebug
> Task :lib_wrapper_mvvm:dataBindingGenBaseClassesDebug
> Task :lib_wrapper_mvvm:mergeDebugShaders
> Task :lib_wrapper_mvvm:compileDebugShaders NO-SOURCE
> Task :lib_wrapper_mvvm:generateDebugAssets UP-TO-DATE
> Task :lib_wrapper_mvvm:packageDebugAssets
> Task :lib_wrapper_mvvm:packageDebugRenderscript NO-SOURCE
> Task :lib_wrapper_mvvm:prepareDebugArtProfile
> Task :lib_wrapper_mvvm:processDebugJavaRes NO-SOURCE
> Task :lib_wrapper_mvvm:prepareLintJarForPublish
> Task :lib_wrapper_mvvm:preReleaseBuild UP-TO-DATE
> Task :lib_wrapper_mvvm:generateDebugRFile
> Task :lib_wrapper_mvvm:compileReleaseAidl NO-SOURCE
> Task :lib_wrapper_mvvm:writeDebugAarMetadata
> Task :lib_wrapper_mvvm:kaptGenerateStubsDebugKotlin
> Task :lib_wrapper_mvvm:mergeReleaseJniLibFolders
> Task :lib_wrapper_mvvm:mergeReleaseNativeLibs NO-SOURCE
> Task :lib_wrapper_mvvm:stripReleaseDebugSymbols NO-SOURCE
> Task :lib_wrapper_mvvm:copyReleaseJniLibsProjectAndLocalJars
> Task :lib_wrapper_mvvm:dataBindingMergeDependencyArtifactsRelease
> Task :lib_wrapper_mvvm:dataBindingMergeGenClassesRelease
> Task :lib_wrapper_mvvm:compileReleaseRenderscript NO-SOURCE
> Task :lib_wrapper_mvvm:generateReleaseResValues
> Task :lib_wrapper_mvvm:generateReleaseResources
> Task :lib_wrapper_mvvm:packageReleaseResources
> Task :lib_wrapper_mvvm:parseReleaseLocalResources
> Task :lib_wrapper_mvvm:dataBindingTriggerRelease
> Task :lib_wrapper_mvvm:dataBindingGenBaseClassesRelease
> Task :lib_wrapper_mvvm:generateReleaseBuildConfig
> Task :lib_wrapper_mvvm:processReleaseManifest
> Task :lib_wrapper_mvvm:javaPreCompileRelease
> Task :lib_wrapper_mvvm:mergeReleaseShaders
> Task :lib_wrapper_mvvm:compileReleaseShaders NO-SOURCE
> Task :lib_wrapper_mvvm:generateReleaseAssets UP-TO-DATE
> Task :lib_wrapper_mvvm:generateReleaseRFile
> Task :lib_wrapper_mvvm:packageReleaseAssets
> Task :lib_wrapper_mvvm:kaptGenerateStubsReleaseKotlin
> Task :lib_wrapper_mvvm:packageReleaseRenderscript NO-SOURCE
> Task :lib_wrapper_mvvm:prepareReleaseArtProfile
> Task :lib_wrapper_mvvm:processReleaseJavaRes NO-SOURCE
> Task :lib_wrapper_mvvm:writeReleaseAarMetadata

> Task :lib_wrapper_mvvm:kaptDebugKotlin
warning: The following options were not recognized by any processor: '[kapt.kotlin.generated, dagger.fastInit, dagger.hilt.android.internal.disableAndroidSuperclassValidation]'

> Task :lib_wrapper_mvvm:mergeReleaseResources

> Task :lib_wrapper_mvvm:kaptReleaseKotlin
warning: The following options were not recognized by any processor: '[kapt.kotlin.generated, dagger.fastInit, dagger.hilt.android.internal.disableAndroidSuperclassValidation]'

> Task :lib_wrapper_mvvm:compileDebugKotlin
w: /home/jitpack/build/lib_wrapper_mvvm/src/main/java/it/jack/lib_wrapper_mvvm/base/view/BaseWrapperFragment.kt: (49, 15): 'setUserVisibleHint(Boolean): Unit' is deprecated. Deprecated in Java

> Task :lib_wrapper_mvvm:extractDebugAnnotations
> Task :lib_wrapper_mvvm:compileDebugJavaWithJavac
> Task :lib_wrapper_mvvm:mergeDebugGeneratedProguardFiles
> Task :lib_wrapper_mvvm:mergeDebugConsumerProguardFiles
> Task :lib_wrapper_mvvm:mergeDebugJavaResource
> Task :lib_wrapper_mvvm:transformDebugClassesWithAsm

> Task :lib_wrapper_mvvm:compileReleaseKotlin
w: /home/jitpack/build/lib_wrapper_mvvm/src/main/java/it/jack/lib_wrapper_mvvm/base/view/BaseWrapperFragment.kt: (49, 15): 'setUserVisibleHint(Boolean): Unit' is deprecated. Deprecated in Java

> Task :lib_wrapper_mvvm:syncDebugLibJars
> Task :lib_wrapper_mvvm:bundleDebugAar
> Task :lib_wrapper_mvvm:assembleDebug
> Task :lib_wrapper_mvvm:extractReleaseAnnotations
> Task :lib_wrapper_mvvm:compileReleaseJavaWithJavac
> Task :lib_wrapper_mvvm:mergeReleaseGeneratedProguardFiles
> Task :lib_wrapper_mvvm:mergeReleaseConsumerProguardFiles
> Task :lib_wrapper_mvvm:mergeReleaseJavaResource
> Task :lib_wrapper_mvvm:mapReleaseSourceSetPaths
> Task :lib_wrapper_mvvm:transformReleaseClassesWithAsm
> Task :lib_wrapper_mvvm:syncReleaseLibJars
> Task :lib_wrapper_mvvm:bundleReleaseAar
> Task :lib_wrapper_mvvm:generateMetadataFileForLib_wrapper_mvvmPublication
> Task :lib_wrapper_mvvm:generatePomFileForLib_wrapper_mvvmPublication
> Task :lib_wrapper_mvvm:publishLib_wrapper_mvvmPublicationToMavenLocal
> Task :lib_wrapper_mvvm:verifyReleaseResources
> Task :lib_wrapper_mvvm:assembleRelease
> Task :lib_wrapper_mvvm:assemble
> Task :lib_wrapper_mvvm:publishToMavenLocal

BUILD SUCCESSFUL in 43s
66 actionable tasks: 63 executed, 3 up-to-date
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Archive: YcrMvvmBase:lib_wrapper_mvvm:unspecified
Publication: YcrMvvmBase:lib_wrapper_mvvm:unspecified
Build tool exit code: 0
Looking for artifacts...
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
Looking for pom.xml in build directory and ~/.m2
Found artifact: com.github.MrFishC:lib_wrapper_mvvm:v1.1
Found artifact: YcrMvvmBase:lib_wrapper_mvvm:unspecified
2022-09-27T06:18:54.914949855Z
Exit code: 0

✅ Build artifacts:
com.github.MrFishC:ycr_mvvm_base:v1.1

Files: 
com/github/MrFishC/ycr_mvvm_base/v1.1
com/github/MrFishC/ycr_mvvm_base/v1.1/build.log
com/github/MrFishC/ycr_mvvm_base/v1.1/ycr_mvvm_base-v1.1-sources.jar
com/github/MrFishC/ycr_mvvm_base/v1.1/ycr_mvvm_base-v1.1.aar
com/github/MrFishC/ycr_mvvm_base/v1.1/ycr_mvvm_base-v1.1.module
com/github/MrFishC/ycr_mvvm_base/v1.1/ycr_mvvm_base-v1.1.pom
com/github/MrFishC/ycr_mvvm_base/v1.1/ycr_mvvm_base-v1.1.pom.md5
com/github/MrFishC/ycr_mvvm_base/v1.1/ycr_mvvm_base-v1.1.pom.sha1

学新通

三.小结

  • 在尝试的过程中,遇到了问题,不要直接上来就各种搜索,如此会比较被动,多一分主动性的思考可能会节省时间。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfifffi
系列文章
更多 icon
同类精品
更多 icon
继续加载