错误:将库转换为Android SDK到jitpack时未找到构建构件

rjzwgtxy  于 2024-01-04  发布在  Android
关注(0)|答案(1)|浏览(149)

bounty将在5天后过期。回答此问题可获得+50的声誉奖励。Devrath正在寻找规范答案:这是一个重要问题,因为Android DSL现在已在Android中使用,并且发布SDK是一个广受欢迎的问题。

  • 当我尝试使用kotlin-Dsl时,库没有在jetpack中发布,导致了一个错误。
  • 我是否遗漏了任何代码?
    零售店链接:https://jitpack.io/#devrath/DroidUtilToolBox/1.4.0
    Github项目https://github.com/devrath/DroidUtilToolBox
    错误日志
  1. Build starting...
  2. Start: Tue Dec 26 07:40:11 UTC 2023 a85e66e73dc0
  3. Git:
  4. 1.4.0-0-g7ecbace
  5. commit 7ecbacebde8c6805b497555f8a2faff00b7edc42
  6. Author: Devrath
  7. Date: Tue Dec 26 13:09:08 2023 +0530
  8. test
  9. Init SDKMan
  10. Found Android manifest
  11. Android SDK version: . Build tools:
  12. Android SDK version: . Build tools:
  13. 1/1: License android-sdk-preview-license:
  14. dirname: missing operand
  15. Try 'dirname --help' for more information.
  16. LIBDIR=
  17. Android project not found. Looking for AndroidManifest.xml and project.properties.
  18. Build tool exit code: 0
  19. Looking for artifacts...
  20. Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
  21. Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dhttps.protocols=TLSv1.2
  22. Looking for pom.xml in build directory and ~/.m2
  23. 2023-12-26T07:40:18.659047103Z
  24. Exit code: 0
  25. ⚠️ ERROR: No build artifacts found

字符串

构建.gradle.kts

  1. plugins {
  2. id("com.android.library")
  3. kotlin("android")
  4. kotlin("kapt")
  5. id("maven-publish")
  6. }
  7. android {
  8. namespace = "com.istudio.lib_utils"
  9. compileSdk = 33
  10. defaultConfig {
  11. minSdk = 24
  12. testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
  13. consumerProguardFiles("consumer-rules.pro")
  14. }
  15. buildTypes {
  16. release {
  17. isMinifyEnabled = false
  18. proguardFiles(
  19. getDefaultProguardFile("proguard-android-optimize.txt"),
  20. "proguard-rules.pro"
  21. )
  22. }
  23. }
  24. compileOptions {
  25. sourceCompatibility = JavaVersion.VERSION_1_8
  26. targetCompatibility = JavaVersion.VERSION_1_8
  27. }
  28. kotlinOptions {
  29. jvmTarget = "1.8"
  30. }
  31. }
  32. afterEvaluate {
  33. publishing {
  34. publications {
  35. create<MavenPublication>("release") {
  36. //from(components.findByName("release"))
  37. from(components["release"])
  38. groupId = "devrath"
  39. artifactId = "DroidUtilToolBox"
  40. version = "1.4.0"
  41. //artifact("$buildDir/outputs/aar/${project.name}-release.aar")
  42. }
  43. }
  44. // Add the following block for configuring the repository
  45. repositories {
  46. maven {
  47. name = "jitpack"
  48. url = uri("https://jitpack.io")
  49. }
  50. }
  51. }
  52. }
  53. dependencies {
  54. implementation("androidx.core:core-ktx:1.9.0")
  55. implementation("androidx.appcompat:appcompat:1.6.1")
  56. implementation("com.google.android.material:material:1.10.0")
  57. //implementation("androidx.startup:startup-runtime:1.1.1")
  58. testImplementation("junit:junit:4.13.2")
  59. androidTestImplementation("androidx.test.ext:junit:1.1.5")
  60. androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
  61. }

jqjz2hbq

jqjz2hbq1#

您的错误日志表明JitPack无法找到Android项目和构建工件。这可能是由于发布设置中的错误配置或JitPack的Android项目检测问题。
但我看到这个人工制品被评论了:

  1. //artifact("$buildDir/outputs/aar/${project.name}-release.aar")

字符串
首先尝试修改您的build.gradle.kts文件,并在publishing section中恢复该行:

  1. // existing configurations
  2. afterEvaluate {
  3. publishing {
  4. publications {
  5. create<MavenPublication>("release") {
  6. from(components["release"])
  7. groupId = "devrath"
  8. artifactId = "DroidUtilToolBox"
  9. version = "1.4.0"
  10. // Make sure the AAR file is included as an artifact
  11. artifact("$buildDir/outputs/aar/${project.name}-release.aar")
  12. }
  13. }
  14. repositories {
  15. maven {
  16. name = "jitpack"
  17. url = uri("https://jitpack.io")
  18. }
  19. }
  20. }
  21. }
  22. // existing dependencies


这将确保AAR文件作为工件显式地包含在发布中。
由于build.gradle.kts现在确实有一个publication / artifact部分,这里有一些调试想法:
确保AndroidManifest.xml正确位于库模块的src/main目录中。并验证库模块的结构,以确保其符合标准Android库项目布局。
请确认您的项目包含Gradle Wrapper。JitPack使用存储库中包含的Gradle Wrapper(gradlew)来构建项目。
检查JitPack构建日志中的任何线索。特别是,查找出现在“未找到构建工件”消息之前的错误或警告。
如果您的项目需要特定的构建设置,请考虑在存储库的根目录下添加jitpack.yml文件,以自定义JitPack构建环境。
尝试使用JitPack使用的相同命令(./gradlew assembleRelease)在本地构建AAR。这将有助于验证AAR文件是否在本地机器上正确生成。
确保Git仓库中的版本标签(1.8.0)与build.gradle.kts文件中指定的版本相匹配。JitPack依赖于Git标签进行版本控制。
检查您的GitHub存储库设置,以确保没有可能影响JitPack访问您的存储库的限制。

展开查看全部

相关问题