在写SDK时,避免不了的是引入第三方的jar,打包时不将这些第三方的jar打入自己的jar中,可以这样做:
将 sdk部分:
implementation fileTree(include: ['*.jar'], dir: 'libs')
换成
provided fileTree(dir: 'libs', include: ['*.jar'])
也就是说,哪个第三方的jar不想打入自己的jar包,可以把相应的implementation 换成 provided。
e.g.
provided files('libs/MiPush_SDK_Client_3_6_2.jar') compile 'com.squareup.okhttp3:okhttp:3.3.0' |
MiPush_SDK_Client_3_6_2.jar 不会打入自己的jar包,而 com.squareup.okhttp3:okhttp:3.3.0 就会打入。
总结:第一行和需要隐藏的jar,都需要修改成 provided.