apk软件添加注册机方法,安卓apk添加授权教程?
讓SuperChm實(shí)現(xiàn)Call3具有一樣的注冊(cè)機(jī)制。首先得了解,一個(gè)Android程序由一個(gè)或多個(gè)Activity以及其他組件組成,每個(gè)Activity都是Android程序的一個(gè)展示“頁(yè)面”,負(fù)責(zé)數(shù)據(jù)的處理和展示工作。并且每個(gè)Android程序有且僅有一個(gè)主Activity(隱藏程序沒(méi)有主Activity)它是程序啟動(dòng)的第一個(gè)Activity。知道了這些,我們就看看Call3的第一個(gè)“頁(yè)面”即是展示注冊(cè)機(jī)制的Activity包含了哪些元素。
然后打開(kāi)Call3的VerifyActivity.smali,其instance fields已經(jīng)顯示出所引用的組件:
//兩個(gè)按鈕
.field private a:Landroid/widget/Button;
.field private b:Landroid/widget/Button;
//一個(gè)瀏覽文本
.field private c:Landroid/widget/TextView;
//一個(gè)編輯框
.field private d:Landroid/widget/EditText;
//驗(yàn)證注冊(cè)的本地SharedPreferences
.field private e:Landroid/content/SharedPreferences;
//獲取手機(jī)通訊狀態(tài)相關(guān)的方法,這個(gè)會(huì)涉及到系統(tǒng)權(quán)限
.field private f:Landroid/telephony/TelephonyManager;
//提示框
.field private g:Landroid/app/ProgressDialog;
VerifyActivity中各種的方法:1、在a()方法中有引用DESUtil.smali的encryptDES解密方法。
invoke-static {v0}, Lcom/call3/DESUtil;->encryptDES(Ljava/lang/String;)Ljava/lang/String;
注意:這里面也有啟動(dòng)主Activity
2、在onclick()方法中有一個(gè)資源ID:0x7f070014
:pswitch_data_0
.packed-switch 0x7f070014
:pswitch_0
:pswitch_1
.end packed-switch
3、在onCreate()方法中資源ID有:0x7f030001、0x7f070012、0x7f070014、0x7f070015、0x7f070013。還有一個(gè)啟動(dòng)主功能MainActivity
new-instance v0, Landroid/content/Intent;
const-class v1, Lcom/call3/MainActivity;
invoke-direct {v0, p0, v1}, Landroid/content/Intent;->
(Landroid/content/Context;Ljava/lang/Class;)V
invoke-virtual {p0, v0}, Lcom/call3/VerifyActivity;->startActivity(Landroid/content/Intent;)V
對(duì)于DESUtil.smali,它又引用了Base64.smali文件中的encode方法:
invoke-static {v0}, Lcom/call3/Base64;->encode([B)Ljava/lang/String;
這樣,答題的流程我們就知道了:首先在AndroidMainfest.xml中配置主Activity為VerifyActivity,然后導(dǎo)入layout布局文件activity_main.xml,同時(shí)還要引用DESUtil.smali和Base64.smali。同時(shí)要注意TelephonyManager有關(guān)權(quán)限的增加。
好了,我們開(kāi)始操作:
1、將SuperChm程序的主Activity修改為VerifyActivity,原主Activity變?yōu)橐话?、在原主Activity的文件夾下導(dǎo)入:VerifyActivity.smali、DESUtil.smali和Base64.smali。在layout布局文件夾下,導(dǎo)入activity_verify.xml。
3、將VerifyActivity.smali、DESUtil.smali、Base64.smali文件中的“Lcom/call3/”全部替換成“Lcom/jrzheng/superchm/Activity/”。更改VerifyActivity.smali中啟動(dòng)的主Activity,即:
const-class v1, Lcom/call3/MainActivity;
改為:
const-class v1, Lcom/jrzheng/superchm/Activity/MainActivity;
4、開(kāi)始最艱辛的一個(gè)過(guò)程,設(shè)置資源ID。自行對(duì)比吧。
添加color:colors.xml、public.xml、R$color.smali;
添加“btn_verify”:ids.xml、public.xml&id、R$id;
添加“activity_verify”:public.xml&layout、R$layout;
添加“tv_imei”:ids.xml、public.xml&id、R$id;
添加“btn_close”:ids.xml、public.xml&id、R$id;
添加“et_pwd”:ids.xml、public.xml&id、R$id;
添加“tv_title”,ids.xml、public.xml&id、R$id;
0x7f070014->btn_verify的ID
0x7f030001->activity_verify的ID
0x7f070012->tv_imei的ID
0x7f070015->btn_close的ID
0x7f06007f->et_pwd的ID
這個(gè)Call3的注冊(cè)機(jī)制還有一個(gè)好處就是注冊(cè)成功以后,再打開(kāi)就不再顯示注冊(cè)界面。
總結(jié)
以上是生活随笔為你收集整理的apk软件添加注册机方法,安卓apk添加授权教程?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux检查端口命令?
- 下一篇: 新成立的进出口贸易公司,如何办理出口退税