1. 程式人生 > >android代碼生成jar包

android代碼生成jar包

ips 今天 右鍵 編譯 make 技術 名稱 mage .bat

前沿:有時候我們的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包