android代碼生成jar包
前沿:有時候我們的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包