我有一個應用程序項目,它使用庫(引用庫項目,不使用jar)。在第一個庫內部,我想使用另一個庫(估計信標庫),這次使用第一個庫libs文件夾內的jar。要正確使用此第二個庫,我需要在清單中的以下服務聲明:從Android應用程序庫內引用庫APP Manifest
<service android:name="com.estimote.sdk.service.BeaconService"
android:exported="false"/>
我試圖在APP項目清單,宣佈這項服務,但它並沒有得到它。使用第一個庫項目清單是相同的(正常,如果我沒有錯誤,這個清單被編譯器忽略)。
任何幫助將不勝感激。我一直在尋找類似的問題,但我沒有幸運。
編輯:
即使下面的配置它不工作:
- 第一庫具有Estimote燈塔SDK(第二庫)在lib文件夾添加。此外,它具有在清單中聲明的藍牙許可和服務。
- APP項目具有第一個庫(不使用jar,但引用該項目)和第二個庫在其lib文件夾中。藍牙許可和服務在清單中聲明。
我還創建了一個測試應用程序,聲明服務和藍牙權限,並將庫添加到lib文件夾中,它運行得非常好,所以在使用我的庫時它會變得混亂。
我沒有使用Gradle作爲庫的依賴關係,實際上我不知道Gradle究竟是什麼。我會看一看。 – Rafag 2014-09-24 10:43:47
重點不在於Gradle構建系統,而在於構建系統。如果您在主項目中找不到您的庫中的類(例如,在AndroidManifest.xml中),那麼庫不在項目構建路徑中,並且不包含在項目構建中。如果您使用的是Eclipse,請查看http://developer.android.com/tools/projects/projects-eclipse.html。 – 2014-09-24 10:50:00
感謝您的鏈接。問題在於我沒有引用該庫,例如在「在清單文件中聲明庫組件」中顯示,但是使用庫的.jar。無論如何,我應該能夠從圖書館找到一個班級,但是對於我來說,沒有找到它(對於我想要的項目,它是一個空的和簡單的項目)。 – Rafag 2014-09-24 11:14:30