我正在構建一個Android應用程序,它具有對自定義庫的依賴性,而Gradle僅在使用項目依賴項時只包含我的自定義庫,而不是我使用文件依賴項來包含庫的jar文件。我使用API levee 19 SDK構建了我的應用程序和庫。爲什麼Gradle只包含來自我的庫的項目依賴關係
未能從build.gradle
dependencies
部分:
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile files('libs/MyLibrary.jar')
}
如果我使用上述dependencies
部分,沒有在MyLibrary.jar類都包含在構建apk文件,如通過提取其classes.dex驗證,運行dexdump。我還驗證了所有的類都存在於我正在使用的jar文件中。
如果我用下面的dependencies
部分,然後所有在MyLibrary的類都包含在APK文件:
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile project(':MyLibrary')
}
我使用過Android Studio 0.4.0,搖籃1.9,我覺得Gradle插件0.7.1。
這是怎麼回事?我真的很想用API級別18 sdk來構建我的應用程序來測試兼容性,但除非我能夠將jar文件用於我的庫,否則我無法實現這一目標。
你不應該有一個+的版本?編譯'com.android。支持:appcompat -v7:19+' – Benoit
您是否試圖將jar文件本身包含在您的APK中,或只是從jar中的類? – superEb
我只是試圖從jar中包含類。 – Greg