我很難使用 gradle 將本地庫作為我的 android 應用程式的依賴項。
主要原因是這個庫是我的android應用程式所在專案之外的獨立庫。
據我了解,這可以使用復合構建來完成。所以我試圖使用它。
我創建了一個非常小的倉庫來說明我的問題:https : //github.com/ampeixoto/composite-build-example
基本上我想添加:my-external-lib為:app模塊的依賴項
所以我添加includeBuild '../my-external-lib'到my-composite-app\settings.gradle.
到目前為止,如果我同步 gradle,我現在可以my-external-lib在專案結構中看到。
但是當我嘗試將依賴項添加到app\build.gradle:
dependencies {
//Trying to add the dependency to my lib here
implementation project(":my-external-lib")
//other dependencies
}
同步 gradle 時出現以下錯誤:
Caused by: org.gradle.api.UnknownProjectException: Project with path ':my-external-lib' could not be found in project ':app'.
at org.gradle.api.internal.project.DefaultProject.project(DefaultProject.java:659)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:484)
at org.gradle.internal.metaobject.BeanDynamicObject.tryInvokeMethod(BeanDynamicObject.java:196)
at org.gradle.internal.metaobject.CompositeDynamicObject.tryInvokeMethod(CompositeDynamicObject.java:98)
at org.gradle.internal.extensibility.MixInClosurePropertiesAsMethodsDynamicObject.tryInvokeMethod(MixInClosurePropertiesAsMethodsDynamicObject.java:34)
at org.gradle.groovy.scripts.BasicScript$ScriptDynamicObject.tryInvokeMethod(BasicScript.java:135)
at org.gradle.internal.metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:77)
at build_4wxxt4nomiqq4pt98j577hegv$_run_closure2.doCall(C:\Projects\CompositeBuildExample\my-composite-app\app\build.gradle:42)
我覺得我錯過了一些簡單的東西,但不確定是什么......任何指標都會非常感激。
uj5u.com熱心網友回復:
好的,找到問題了。需要添加group 'com.example'的my-external-lib\build.gradle,然后我可以添加如同使用依賴性:
implementation "com.example:my-external-lib"
請參閱帶有修復程式的提交。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/405773.html
標籤:
