編輯:關於Android編程
使用Android JNI 獲取應用簽名。
根據獲取的簽名來生成自己的密碼,這樣可以防止別人反編譯自己的源碼後查找密碼。
jstring Java_com_masonsdk_jni_JNIUtil_getPWD(JNIEnv* env, jobject thizz
,jobject thiz
){
jclass native_clazz = env->GetObjectClass(thiz);
// 得到 getPackageManager 方法的 ID
jmethodID methodID_func =env->GetMethodID(native_clazz,"getPackageManager", "()Landroid/content/pm/PackageManager;");
// 獲得應用包的管理器
jobject package_manager = env->CallObjectMethod(thiz, methodID_func);
// 獲得 PackageManager 類
jclass pm_clazz = env->GetObjectClass(package_manager);
// 得到 getPackageInfo 方法的 ID
jmethodID methodID_pm = env->GetMethodID( pm_clazz,
"getPackageInfo", "(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;");
//獲取包名
jmethodID methodID_packagename =env->GetMethodID(native_clazz,"getPackageName", "()Ljava/lang/String;");
jstring name_str = static_cast(env->CallObjectMethod(thiz, methodID_packagename));
// 獲得應用包的信息
jobject package_info = env->CallObjectMethod(package_manager,
methodID_pm, name_str, 64);//env->NewStringUTF("com.example.contasdf")
// 獲得 PackageInfo 類
jclass pi_clazz = env->GetObjectClass( package_info);
// 獲得簽名數組屬性的 ID
jfieldID fieldID_signatures = env->GetFieldID( pi_clazz,
"signatures", "[Landroid/content/pm/Signature;");
// 得到簽名數組,待修改
jobject signatur = env->GetObjectField(package_info, fieldID_signatures);
jobjectArray signatures = reinterpret_cast(signatur);
// 得到簽名
jobject signature = env->GetObjectArrayElement(signatures, 0);
// 獲得 Signature 類,待修改
jclass s_clazz = env->GetObjectClass(signature);
// 得到 hashCode 方法的 ID
jmethodID methodID_hc = env->GetMethodID(s_clazz, "hashCode", "()I");
// 獲得應用包的管理器,待修改
int hash_code = env->CallIntMethod(signature, methodID_hc);
char str[100];
sprintf(str, "%u", hash_code);
return env->NewStringUTF(str);
} https://github.com/mentor811/AndroidUltimateEncrypt
【 聲明:版權所有,歡迎轉載,請勿用於商業用途。 --天盟】
Android UI自定義ListView實現下拉刷新和加載更多效果
關於實現ListView下拉刷新和加載更多的實現,我想網上一搜就一堆。不過我就沒發現比較實用的,要不就是實現起來太復雜,要不就是不健全的。因為小巫近期要開發新浪微博客戶端
Android簡單實現自定義流式布局的方法
本文實例講述了Android簡單實現自定義流式布局的方法。分享給大家供大家參考,具體如下:首先來看一下 手淘HD - 商品詳情 - 選擇商品屬性 頁面的UI商品有很多尺碼
Android中的文件下載——DownLoadManager
一、問題概述 在android開發中,經常會使用到文件下載的功能,比如app版本更新等。在api level 9之後,android系統為我們提供了DownLoa
Android沉浸式狀態欄微技巧(帶你真正理解沉浸式模式)
其實說到沉浸式狀態欄這個名字我也是感到很無奈,真不知道這種叫法是誰先發起的。因為Android官方從來沒有給出過沉浸式狀態欄這樣的命名,只有沉浸式模式(Imm