1. 硬體協議sdk如何打包
關注
從事android開發久了不可避免的會接觸對外介面的封裝,下面本人就以自己寫過的一個例子系統講講怎樣對應用sdk的開發。
1.封裝
我們在與其他公司合作的時候,往往會有技術方面的協作,但我們又不想過多的暴露我們某些技術方面的細節,比如:ip地址、技術參數、核心演算法。
於是我們會對這部分代碼進行封裝,這部分需要精通Java的設計模式。
下面上傳我的項目:
這里寫圖片描述
新建一個Android工程,添加一個Model:musicdot。
musicdot是本人自己解析網路音樂的歌曲搜索請求實現的在線搜歌功能包。所以我將要對這部分代碼進行封裝打包,以達到隱藏具體搜索請求的目的。(由於司准備讓整個項目打包成SDK,經過大量查閱打包SDK的博客,和自己的實踐,我把打包過程,中間遇到的各種問題,踩過的坑簡單的總結一下,讓看到的道友少踩些坑。
一、創建一個workspace
可以在桌面新建個testSDK文件夾,在這個文件夾里創建個WorkSpace。如圖:
二、創建SDK
1.打開workspace,創建一個project,如圖:
2.選擇Cocoa Touch Framework,如圖:
3.創建framework,把framework添加到workspace里。如圖:
三、創建SDKDemo
1.打開TestSDK.xcworkspace文件,創建project ,選擇Single View Application。如圖:
2.紅框里的都選擇TestSDK.xcworkspace。
這樣就把SDK和demo都創建好了,這樣創建SDK加demo可以方便調試,如果sdk中有問題,可以直接在SDK中斷點調試。創建後的效果如圖:
3.修改build settings 配置參數。如圖:
更改參數,在Architectures下增加armv7s,並選中。將Build Active Architecture only設置為NO
四、添加你的項目代碼到SDK中
如果你的項目用到了Xib,圖片,mp3,storyboard等,那麼你就要添加一個bundle資源包,把這些資源添加到資源包里。
五、創建bundle資源包。
1.在target中點擊右下角的+號,選擇macOS,找到Framework&Library,選擇Bundle。如圖:
2.修改配置文件:
"Base SDK" 設置為 "IOS"
"Build Active Architecture Only" 設置為 "YES"
"Debug Information Format" 設置為 "DWARF with dSYM File"
"Skip Install" 設置為 "NO"
"Strip Debug Symbols During Copy" 中"Release"模式設置為 "YES"
"IOS Deployment Target" 設置為 "IOS 9.0"(具體根據自己的項目,設置系統版本)
"COMBINE_HIDPI_IMAGES" 設置為 "NO"
3.在Build phases中添加Xib。如圖:
4.選擇bundle,command + B編譯,如圖:
編譯之後,SDK工程下會多個bundle的文件夾,你可以把圖片,MP3,plist文件放到該文件夾里,如圖:
5.調用bundle資源包里的資源。
//調用自定義View的Xib
+(MyView *)instancePubView
{
NSArray * nibView = [[NSBundle mainBundle] loadNibNamed:@"testBL.bundle/MyView" owner:nil options:nil];
return [nibView objectAtIndex:0];
}
//調用視圖控制器的Xib
-(instancetype)init{
NSBundle * bundle = [NSBundle bundleWithPath:[[[NSBundle mainBundle] resourcePath] :@"testBL.bundle"]];
self = [super initWithNibName:@"LoginViewController" bundle:bundle];
return self;
2. Hbuilder打包是咋回事,一直處於打包狀態,求解答
hbuilder打包ipa的流程可以參考以下步驟:
打開HBuilder工具,選擇完工的項目,點擊發行,選擇發行為原生安裝包。
3. iOS 安卓的SDK是用什麼封裝的一般人是如何開發SDK的
具體來說,可以舉個有使用SDK的例子
一、基於Android系統的例子
1、准備工作:
使用Eclipse新建一個Android項目,根據要求提示填寫相關信息,然後構建APP框架
2、這里使用的是一個比分SDK,要了解所用的SDK,可獲取整個示例工程以及對應的APK安裝包進行運行。運行工程可以通過以下兩種方式進行運行:
a. 直接安裝比分SDK Demo.apk至手機進行運行
b. 在Eclipse中導入並運行比分SDKDemo工程
3、提供應用程序包名和簽名,到http://sportsdt.com留言申請應用程序的APP_KEY,得到開放介面。完成後在應用中添加SDK所需要的許可權,打開AndroidManifest.xml文件,將SDK需要的許可權添加到該文件中即可:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
4、用一個簡單的APP框架,內嵌進去一個現成的比分SDK,就可以達成以下效果:
二、基於IOS系統的例子
1、准備工作:
同上,還是要先創建一個IOS項目,這回使用的是xcode,詳細圖文可以繼續問度娘。
2、引入SMSDK.framework
將所需的SMSDK.framework拷貝到工程所在文件夾下。
在 TARGETS->Build Phases-> Link Binary With Libaries中點擊「+」按鈕,在彈出的窗口中點擊「Add Other」按鈕,選擇SMSDK.framework文件添加到工程中。
2、引入所需的第三方庫(7M SDK需要在XCode工程引入以下的第三方類庫以確保項目能夠正確運行)
通過CocoaPods安裝,將以下語句添加進工程的Podfile,然後打開終端在工程目錄執行pod install命令,運行[工程名稱].xcworkspace,開始工作!
pod 'Reachability'
pod 'Masonry'
pod 'ReactiveCocoa'
pod 'AFNetworking'
pod 'CocoaLumberjack'
pod 'Nimbus/Core', '1.0.0'
pod 'Nimbus/AttributedLabel', '1.0.0'
3、引入資源bundle
需要在Xcode工程中引入SMSDK.bundle,確保SMSDK圖片能正常顯示
4、環境配置
在TARGETS->Build Settings->Other Linker Flags 中添加-ObjC。
效果如圖:
第一次這么認真地回答一個問題,恰好用到了這個SDK,如有做體育項目的朋友也有需要,可自行搜索sportsdt,其他就不多說了。