因爲我需要對Smack庫進行一些更改,所以我想將Smack作爲庫添加到我的Android Studio項目中。我已經下載從Smack Github repository ZIP文件,並做以下步驟 - 因爲我發現,而尋找解決方案將庫(Smack)添加到Android Studio項目
(1)在我的項目的根文件夾創建一個新的文件夾libs
和複製的提取,並更名爲文件夾/Smack
換成libs
。所以它現在的結構如下:
root/libs/Smack/
(2)我修改了settings.gradle
在根文件夾
include ':app'
include ':libs:Smack'
(3)通過File -> Project Structure -> Modules app -> Dependencies
,我已經添加:libs:Smack
作爲模塊依賴
(4)我已將以下行添加到root/app/build.gradle
compile project(':libs:Smack')
根據我在網上找到的大多數消息來源,這應該是它。但是,我得到了一個錯誤Gradle project sync failed
。更具體地說,我得到:
/path-to-root/libs/Smack/build.gradle
Error:(42, 0) Project with path ':smack-integration-test' could not be found in project ':libs:Smack'.
當我看着的文件和行它說project(':smack-integration-test')
。不知何故,這無法找到。但是,有一個文件夾libs/Smack/smack-integration-test
。它看起來很簡單,但我似乎錯過了一些關鍵的東西。
編輯: Android Studio中實際上支持導入搖籃項目:File -> New -> New Module
打開,我選擇Import Gradle Project
在那裏我有選擇的,在這裏,咂了源目錄的對話窗口。這樣做使得在settings.gradle
中包含所有正確的陳述。
但是,沒有我得到的錯誤:
Error:(386, 0) Could not get unknown property 'clirr' for project ':smack-integration-test' of type org.gradle.api.Project.
因爲我不是足夠的搖籃熟悉,我不知道這可能意味着什麼,以及我的谷歌搜索也沒有推進我。
我看着它。但是從Gradle項目創建JAR文件看起來並不簡單。我可能不得不這樣做,我只是希望能夠快速解決問題,即使它很髒,因爲它僅用於測試目的。 – Christian
我用Smack庫在本地做了一個測試,它非常簡單,如果你在它的根目錄下運行gradle命令,它會構建所有的子項目。從那裏你可以從構建文件夾中選擇與你相關的jar(s) – petrumo
我已經接受了答案,因爲以這種方式取得了進展。我能夠創建各種jar文件並將其導入到我的項目中。但是,用各自的'compile files('libs/... jar')'行代替'compile'org.igniterealtime.smack:smack-android:4.1.0''行會在我的源代碼中拋出錯誤。我假設有不同的版本。 – Christian