簡述Android SDK制作流程


  1. SDK“坑不坑”?
  2. SDK“難不難”?
  3. 如何封裝用戶接口? 
  4. Android Studio 打包混淆aar

1 . SDK“坑不坑”? 
沒有接觸過SDK研發的人可能不覺得,SDK研發費時費力,並且沒有什么成就感。你寫的做的,最終結果你並不能看到。最重要的是,一個SDK完成后,你會感覺到居然什么都沒有得到?(有點小誇大哦)當對於普通的APK研發,SDK還是比較坑的。


2 . SDK“難不難”? 
在eclipse時代,怎么加載類?怎么加載資源?怎么讓開發者更快更簡單的接入?還是比較困難的。


3 .如何封裝用戶接口? 
以上兩點都是在扯。言歸正傳,如何讓自己的SDK更安全?讓自己的邏輯對用戶完全透明? 
* 利用好混淆 
* 建造者模式 
先看下我SDKdemo的目錄結構 

這里寫圖片描述


總體的架構采用MVP。最近超喜歡用這種模式,比MVC更好理解,解耦性更好,就是接口寫的多了點。重點看admin包。這個包的主要功能是暴露給用戶的。也就是說SDK中一切提供給用戶的API接口都寫在這個包中。當混淆時候只忽略這一個包即可。建造者模式構建用戶接口,優缺點不必多說。唯一重點想提的一個小細節。

 

 @Override public void GoToActvity(Context context) { if (Constant.sdkInstance.getUserAppName() == null) throw new IllegalArgumentException("UserAppName can not be null"); if (Constant.sdkInstance.getUserChannel() == null) throw new IllegalArgumentException("UserChannel can not be null"); if (Constant.sdkInstance.getUserKey()==null) throw new IllegalArgumentException("UserKey can not be null"); Intent intent = new Intent(context, SdkActivity.class); context.startActivity(intent); }

像這種異常一定要跑出來讓接入者看到,會讓你省去很大麻煩。demo我會在最后貼出下載地址。 


4.Android Studio 打包混淆aar 
首先配置混淆,在你的SDK項目build.gradle中配置,如圖 

這里寫圖片描述


其次配置你的proguard-rules.pro文件,這里提供一個模版哦,http://www.jianshu.com/p/f3455ecaa56e 非常不錯。然后就可以生成aar包了,第一你可以運行下項目(這種太low)。或者你可以在控制台下輸入gradlew如圖。 

這里寫圖片描述


最終你的aar會生成在這里。。。上圖


這里寫圖片描述

 

對了,如何使用aar那?


這里寫圖片描述 


具體代碼詳情請看github 轉載:David_DYK

 下載地址:https://github.com/duanyikang/Develop-SDK


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM