簡體   English   中英

從Android APP清單引用庫中的庫

[英]Referencing library inside of library from Android APP Manifest

我有一個應用程序項目,該項目使用一個庫(引用該庫項目,而不使用jar)。 在第一個庫中,我要使用另一個庫(Estimate Beacons庫),這次使用第一個庫libs文件夾中的jar。 為了正確使用第二個庫,我需要在清單中聲明以下服務:

<service android:name="com.estimote.sdk.service.BeaconService"
     android:exported="false"/>

我嘗試在APP項目清單中聲明此服務,但沒有得到它。 與第一個庫項目清單相同(正常,如果我沒記錯,編譯器會忽略此清單?)。

任何幫助將非常感激。 我一直在尋找類似的問題,但我並不幸運。

編輯:

即使使用以下配置,它也不起作用:

  • 第一個庫在lib文件夾中添加了Estimote Beacon SDK(第二個庫)。 此外,它還具有清單中聲明的​​藍牙權限和服務。
  • APP項目在其lib文件夾中具有第一個庫(不使用jar,而是引用該項目)和第二個庫。 清單中聲明了藍牙權限和服務。

我還創建了一個測試應用程序,聲明了服務和藍牙權限,並將該庫添加到lib文件夾中,並且效果很好,所以當我使用我的庫時,它變得很困惑。

AndroidManifest.xml只是Application配置文件,而不是build文件。

如果您使用Gradle構建系統,那么應該在build.gralesettings.gradle文件中指定您的庫依賴項。

閱讀此內容, 使用Gradle構建Android項目

嘗試在project.properties文件中啟用清單合並:

manifestmerger.enabled=true

生成項目后,還要在bin目錄中檢查生成的清單,並確保其中存在服務定義。

這是適用於Android Beacon庫的方法,我已經使用它來使其他庫依賴它。

最終,盡管如此,Android Studio確實提供了更靈活的工具來做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM