[英]How to show snackbars from Composables or ViewModels on a multi-module, single activity, Compose only, project
[英]How to import multi-module SDK project by exposing its core module only
我正在開發一個應該作為 Android sdk 工作的項目,該項目包括:
mainSdkModule
以這種方式導入moduleA
和moduleB
:
implementation project(':moduleA')
implementation project(':moduleB')
我將整個項目發布為 SDK,我想在另一個應用程序項目中使用它。 為了測試這個 SDK 的集成,我暫時將它發布到我的本地 maven 文件夾。 發生的情況是,當我將 sdk 導入應用程序項目時,構建失敗並出現以下錯誤:
Could not find sdk-main-package:moduleA:unspecified.
Required by:
project :mainSdkModule > sdk-main-package:core:1.0.0
我可以通過將每個模塊發布為獨立庫來避免此錯誤,但我需要將它們保留在內部而不暴露它們。
除了 sdk 之外,應用程序項目要求的依賴項甚至不應該被其他項目看到,這是否正常? 如何在核心中包含moduleA
和moduleB
並為那些導入 SDK 的人授予對它們的訪問權限,而不在 maven 上公開這些內部模塊?
在 Android 工作室
做這個:
1-文件->項目結構
2-從左側菜單中選擇依賴項
3-選擇您看到的應用程序 + 和 - 在屏幕頂部中間,單擊 +
4-選擇模塊依賴並勾選您的 mainSdkModule 並將其添加到您的應用程序模塊
5-選擇 mainSdkModule 並單擊 + 並勾選 ModuleA 和 ModuleB
6-應用並構建您的項目
模塊 A 和 B 被聲明為外部依賴項,並將在 pom.xml 文件中被引用。 像這樣的東西:
<dependency>
<groupId>sdk-main-package</groupId>
<artifactId>moduleA</artifactId>
<version>unspecified</version>
<scope>compile</scope>
</dependency>
你想要的是創建一個胖 jar或一個胖 aar 。 fat jar/aar 是一個 jar/aar 文件,它還包含依賴項(而不是將它們作為外部依賴項引用)。 I don't know if your SDK needs to be a jar file or an aar file and if you don't know either then you can find out the difference eg here: Android Archive Library (aar) vs standard jar .
如果你需要一個胖子 jar那么你可以使用Shadow
插件: https://imperceptiblethoughts.com/shadow/introduction 。
如果你需要一個胖子,那么你可以使用這個: https://medium.com/android-news/android-fat-aar-from-gradle-892038facc87 。 還有其他解決方案,但我沒有親自測試過其中任何一個,所以不知道哪些真正有效。 如果你在谷歌上搜索fat aar
,你會得到很多點擊,我希望其中一個能解決你的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.