標籤:用法 ati jar 9.png str myeclips 核心 and 配置
前沿:有時候我們的android項目會有核心演算法或代碼,一般這種情況會把演算法(cpp檔案等)打成so檔案,把代碼進行整理打成jar包或aar包;今天我們就來討論怎樣把演算法打成so檔案,怎樣把關鍵代碼打成jar包。
怎樣把演算法封裝成so檔案?首先我們知道演算法是C語言寫的,這裡我們用jni來完成項目與演算法的傳值(後續補充jni用法),用cmake來編譯成so檔案(後續補充cmake用法),步驟如下:
1.若沒有cpp檔案夾,自己建一個,把演算法檔案放在cpp檔案下,之後建立cpp檔案,寫用jni與演算法通訊的方法;
2.選擇此項目,選擇功能表列中的Build——>RebuildProject;
3.查看項目的build——>intermediates——>cmake——>debug——>obj檔案夾下的檔案,這些便是產生的so庫:
怎樣把關鍵代碼打成jar包? 首先要搞明白jar和aar的應用情境,這裡不做解釋,接下來我們討論打成jar包的方法:
1.利用myeclipse開發軟體,新建立java項目,把關鍵代碼copy到src下,關鍵程式碼封裝括包和類;
2.打成jar:項目右鍵選擇export——>JAR file——>Next——>
3.成功打成jar,有時需要混淆,接下來是最最最基礎的混淆jar方式,首先下載proguard檔案(我用的proguard5.1),雙擊projuardgui.bat;
雙擊後:
4.設定參數1:
5.保持哪些類不被混淆,一般不被混淆的類或介面都是要暴露給使用者調用的:
如果有介面,再添加interface的配置
6.開始混淆:
混淆成功,去指定位置找jar就ok了
7.查看native方法,擷取混淆後的包名和方法名稱,在代碼jni的cpp檔案中修改,最後再重新打包so檔案;
這樣就算完成了,也許不太詳細,但希望能給大家帶來協助,如有不正確的地方,還望不吝賜教,共同進步!
android代碼產生jar包