使用Framework裏的類但不打包到apk中

做android應用開發時, 如果想使用framework的一些接口(對應用層是hide的),有兩種方法, 一是, 反射; 二是, 將源碼編譯後的framework-immediate裏的classes.jar引用到工程中(或者android sdk目錄下的 platform/android-XX/data/layoutlib.jar)。 第一種方式, 使用比較多; 第二種方式, 比較方便, 引用jar包後直接用, 以免寫繁瑣的反射的代碼。


引用classes.jar包的步驟爲:

1. 將classes.jar複製到工程libs目錄下;

2. 在build.gradle文件中的dependencies里加上 provided files('libs/classes.jar'), 注意, 這裏不是compile fileTree(dir: 'libs', include: ['*.jar'])。


因爲: 用compile fileTree這種方式, 會將classes.jar最後打包到apk中, 使得apk變得非常大。

而! provided files的作用是, 讓工程引用改jar包, 但是不打包到apk中, 這正是我們需要的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章