我正在使用一个用gradle构建的开源项目.我想生成一个(项目)-sources.jar文件,我可以将其加载到我的IDE(IntelliJ IDEA)并通过项目进行调试.如果我可以生成它,我知道如何加载文件.
我查看了项目的可用gradle任务,但没有一个生成源jar文件.
为此项目生成源jar文件的最简单方法是什么?
将源添加到包含已编译类文件的jar文件中也可以.
当我同步项目时,android studio警告 could not get unknown property 'bundleRelease' for object of type org.gradle.api.publish.maven.internal.publication.DefaultMavenPublication.
我添加project.afterEvaluate{//block}
,但它不起作用.我该怎么做才能设置artifact
我想发布一个我一直在使用 jitpack 开发的 android 库。但我想在不发布源代码的情况下做到这一点。我不想让 jitpack 构建它,我将构建的输出(AAR 文件)上传到 github,我想让 jitpack 只提供这些文件。
https://jitpack.io/docs/PRIVATE/#artifact-sharing中的说明 不适用,因为 UI 不再具有允许共享工件的设置选项卡。
另外,有更好的方法吗?
任何帮助,将不胜感激。
我正在构建一个尝试发布到 Nexus Maven 存储库的 Android 库。让我感到困惑的是,似乎没有使用maven-publish
插件通过 gradle 发布我的项目的干净方法。
我找到了许多答案,但并不真正让我满意:
这个插件只能正常工作,目前没有维护。
在我的 build.gradle 中修改生成的 POM工作,我只是觉得这不是应该完成的方式 - 在每个 android 库的build.gradle
.
谷歌甚至maven-publish
在他们的文档中提到了这个插件,但他们并没有真正展示如何使用它。
请告诉我我遗漏了什么:问题没有我想象的那么简单吗?我只是想发布一个带有 pom 的 AAR,说明它是依赖项,我正在尝试构建最标准和默认的解决方案。
提前致谢。
我(最终)能够使用本指南将我的Android库发布到AWS S3 maven存储库.它作为AAR而不是JAR文件发布,这意味着即使生成的POM文件列出了其所有内部依赖项,在将库添加到另一个项目时也会忽略它们.似乎是一个非常常见的问题.我从知道这个,我只需要列出一个清单的Maven的依赖关系,但如何做到这一点?
我真的是新手,所以越简单越好......谢谢!
注意:我也发现了这个问题,所以我在依赖实现行的末尾添加了"{transitive = true}"并且它有效.
所以现在要成功包含我的库,依赖项必须编码为:
implementation (group: 'com.mygroup', name: 'my_library', version: '1.3', ext: 'aar', classifier: 'release') { transitive=true changing=true }
Run Code Online (Sandbox Code Playgroud)
(我包括"changing = true"以强制它每次重新下载库.)
如果我不包含"transitive = true",我会收到以下错误:
02-04 20:11:48.462 10225-10225/com.mydomain.app.testapplication4 E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
02-04 20:14:07.080 10225-10225/com.mydomain.app.testapplication4 E/dalvikvm: Could not find class 'android.app.NotificationChannel', referenced from method com.mydomain.library.mydomain$1.onReceive
02-04 20:14:07.290 10225-10225/com.mydomain.app.testapplication4 E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.google.firebase.iid.FirebaseInstanceId
at com.mydomain.library.MyActivity.onCreate(MyActivity.java:88)
at android.app.Activity.performCreate(Activity.java:4701)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1924) …
Run Code Online (Sandbox Code Playgroud) 我正在构建一个 Android 库(例如MyLibrary
),它将添加到我公司的其他应用程序中。该库在文件中有一些依赖项,build.gradle
如下所示:
dependencies{
implementation 'com.alimuzaffar.lib:pinentryedittext:2.0.6'
implementation "com.google.android.gms:play-services-auth-api-phone:17.3.0"
// ... other dependencies
}
Run Code Online (Sandbox Code Playgroud)
创建库后,我创建了一个 Github 包,因此我可以将其添加到s文件AppDemo
中的另一个应用程序(例如),如下所示:AppDemo
build.gradle
dependencies{
implementation 'com.mycompany:mylibrary:1.2.3'
// other dependencies
}
Run Code Online (Sandbox Code Playgroud)
问题是我遇到依赖项错误,即缺少MyLibrary
s 依赖项(在本例中为pinentryedittext
,play-services-auth-api-phone
如上面库的文件所示)。build.gradle
我用谷歌搜索了这个问题并尝试了一些解决方案,例如Mobbeel fataar gradle 插件和其他一些类似的插件,但我无法使它们工作。有人可以帮我解决这个问题或者给我一个工作样本吗?任何帮助都将非常重要。