Android 台灣中文網
標題:
求會 JAVA或SMALI 碼幫忙修改apk,感謝!
[打印本頁]
作者:
liwil
時間:
2016-8-22 16:11
標題:
求會 JAVA或SMALI 碼幫忙修改apk,感謝!
本帖最後由 liwil 於 2016-8-29 12:01 編輯
說明:這是一個特定安卓衛星接收機的apk,一般安卓機不能執行.
動作原理:先執行DTVLauncher.apk後需要手動去選擇DVBS2或DVBT2項目,再去call另一個隱藏apk,名稱為th_dtv.apk
登錄/註冊後可看大圖
K1_Plus_DVB-T2_DVB-S2.jpg
(22.52 KB, 下載次數: 8)
下載附件
保存到相冊
2016-8-22 16:02 上傳
我希望將DTVLauncher.apk做成
不需要手動選擇
的.這樣才能設成開機後就自動執行DVBS2或DVBT2.
所以需要二個apk
一個是DTVLauncherDVBS2.apk會執行DVBS2參數直接去連th_dtv.apk
一個是DTVLauncherDVBT2.apk會執行DVBT2參數直接去連th_dtv.apk
所以請幫忙做成DTVLauncherDVBS2.apk及DTVLauncherDTVT2.apk這是最好狀況
如果嫌太麻煩的話,那只要改FirstActivity.smali,FirstActivity$1.smal即可,會自動執行DVBS2或DVBT2
我再自行改成2個apk
或是可以告知FirstActivity.java解出兩種DVBS2及DVBT2不同的 smail
FirstActivity.smali
FirstActivity$1.smal
FirstActivity.java
---------------------------------
protected void onCreate(Bundle paramBundle)
{
setContentView(2130903048);
Button localButton1 = (Button)findViewById(2131427395);
Button localButton2 = (Button)findViewById(2131427396);
localButton1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
SystemProperties.set("dtv.standard", "DVB-S2");
FirstActivity.this.forceStopPackage();
FirstActivity.this.mHandle.postDelayed(FirstActivity.this.mCheckRunnable, 10L);
}
});
localButton2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View paramAnonymousView)
{
SystemProperties.set("dtv.standard", "DVB-T2");
FirstActivity.this.forceStopPackage();
FirstActivity.this.mHandle.postDelayed(FirstActivity.this.mCheckRunnable, 10L);
}
});
super.onCreate(paramBundle);
}
---------------------------------
DTVLauncher.apk的 FirstActivity.smali 中的選項部份
-------------------------
# virtual methods
.method public onCreate(Landroid/os/Bundle;)V
.locals 6
.param p1, "savedInstanceState" # Landroid/os/Bundle;
.prologue
.line 87
const-string v1, "FirstActivity"
const-string v2, "onCreate()"
invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 88
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 89
const v1, 0x7f03000a
invoke-virtual {p0, v1}, Lcom/android/DTVLauncher/FirstActivity;->setContentView(I)V
.line 90
const-string v1, "dtv.dvbt2.dvbs2"
const-string v2, ""
invoke-static {v1, v2}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "true"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
.line 92
new-instance v0, Lcom/android/DTVLauncher/FirstActivity$ChooseDialog;
invoke-direct {v0, p0, p0}, Lcom/android/DTVLauncher/FirstActivity$ChooseDialog;-><init>(Lcom/android/DTVLauncher/FirstActivity;Landroid/content/Context;)V
.line 93
.local v0, "dialog":Lcom/android/DTVLauncher/FirstActivity$ChooseDialog;
const-string v1, "Choose DVB-S2 or DVB-T2"
invoke-virtual {v0, v1}, Lcom/android/DTVLauncher/FirstActivity$ChooseDialog;->setTitle(Ljava/lang/CharSequence;)V
.line 94
invoke-virtual {v0}, Lcom/android/DTVLauncher/FirstActivity$ChooseDialog;->show()V
.line 101
.end local v0 # "dialog":Lcom/android/DTVLauncher/FirstActivity$ChooseDialog;
:goto_0
return-void
.line 98
:cond_0
invoke-direct {p0}, Lcom/android/DTVLauncher/FirstActivity;->forceStopPackage()V
.line 99
iget-object v1, p0, Lcom/android/DTVLauncher/FirstActivity;->mHandle:Landroid/os/Handler;
iget-object v2, p0, Lcom/android/DTVLauncher/FirstActivity;->mCheckRunnable:Ljava/lang/Runnable;
const-wide/16 v4, 0xa
invoke-virtual {v1, v2, v4, v5}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
goto :goto_0
.end method
-------------------------
以下是DTVLauncher.apk, th_dtv.apk及FirstActivity.java 三個的rar檔案
K2.rar
(3.58 MB, 下載次數: 9)
2016-8-22 17:17 上傳
點擊文件名下載附件
DTVLauncher.apk, th_dtv.apk及FirstActivity.java 三個的rar檔案
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1