Pages

2013年8月14日 星期三

Android JPBC Benchmark Project

終於找到官方給的JPBC-Benchmark.APK檔案的project 的code : 連結
要抓tags那個資料夾的project code 才會正確,另一個跑過有錯.

最主要的關鍵就是這個project沒有夾帶JPBC 的library 也就是jar檔 所以要再抓 jpbc_1_2_1
分別把jpbc-1.2.1裡的jars資料夾裡的jar依序匯入Android libs 資料夾中
project右鍵 -> build Path -> configure build Path->Add JARs
選取自己project 的 libs 資料夾中剛剛所匯入的jar 即可!!

匯入jar 到 Android project 遇到的問題

這次遇到的問題, 找了好久 才知道是Eclipse 的設定搞的鬼
我遇到的問題是:

The library 'XXXX.jar' contains native libraries that will not run on the device
XXX.jar 是我無法順利載入的jar檔案 解決方法: 在Eclipse 的 window->Preferences->Android->Build->
"Force error when external jars contain native libraries"
"Automatically refresh Resources and Assets folder on build"
取消這兩個選項

2013年8月13日 星期二

在Android 使用 base64 的 class

這次要在Android 上跑一個AES的範例,出現一些問題
在Android 上無法使用
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
解決辦法是要import 不同的函式
首先 先下載:apache.commons的元件
我抓的版本為 :commons-codec-1.8-bin.zip (反正抓最新版就好)
在以下路徑 匯入函式庫:
project > Build Path > Add External Archives >
匯入commons-codec-1.8.jar
接著就改成import下面的函式
import org.apache.commons.codec.binary.Base64;

加密的寫法:
String outputString = new String(Base64.encodeBase64(inputString.getBytes()));

解密的寫法:
byte[] data = Base64.decodeBase64(msg.getBytes());
byte[] result = getCipher(CryptMode.DECODE).doFinal(data);
參考: base64 AES範例
 
 
Blogger Templates