Cockroach 2.0
Wei Shi Yao Kai Fa Zhe Ge Ku
Hen Duo Shi Hou You Yu Yi Xie Wei Bu Zu Dao De bugDao Zhi appBeng Kui Hen Ke Xi ,androidMo Ren De Yi Chang Sha Jin Cheng Ji Zhi Jian Dan Cu Bao ,Dan Hen Duo Shi Hou Rang appBeng Kui Qi Shi Ye Bing Bu Neng Jie Jue Wen Ti .
You Xie bugKe Neng Shi Xi Tong bug,Dui Yu Zhe Xie Nan Yi Yu Liao De Xi Tong bugWo Men Bu Hao Rao Guo ,Huan You Yi Xie bugShi Wo Men Zi Ji Bian Ma Zao Cheng De ,Dui Yu You Xie bugLai Shuo Zhi Jie Hu Lue Diao De Hua Ke Neng Zhi Shi Dao Zhi Bu Fen Bu Zhong Yao De Gong Neng Mei Fa Shi Yong Er Yi ,You Huo Zhe Dui Yong Hu Lai Shuo Wan Quan Mei You Ying Xiang ,Zhe Chong Qing Kuang Zong Bi Mei Ci Du Beng Kui Yao Hao Hen Duo .
Xia Mian Jie Shao Ji Ge Zhen Shi An Li Lai Shuo Ming Zhe Ge Ku De You Shi :
-
You Yi Kuan Te Shu De Shou Ji ,Mei Ci Kai Qi Mou Ge ActivityShi Du Bao Cuo ,Ti Shi Mei You Zai Qing Dan Zhong Sheng Ming ,Dan Qi Ta Ji Bai Mo Ji Xing Du Mei Wen Ti ,Zhe Chong Qing Kuang Hen Ke Neng Jiu Shi Xi Tong bugLiao ,You Yu Shi Zai onclickHui Diao Li Zhi Jie Shi Yong startActivityLai Kai Qi Activity,onclickLi Mei You Qi Ta Luo Ji ,Dui Yu Zhe Chong Qing Kuang De Hua Zhi Jie Hu Lue Diao Shi Zui Hao De Xuan Ze ,Yin Wei onclickHui Diao Shi Zai Yi Ge Dan Du De messageZhong De ,Zhi Xing Wan Liao Gai messageJiu Jie Zhao Zhi Xing Xia Yi Ge message,Gai messageZhi Xing Bu Wan Ye Bu Hui Ying Xiang Xia Yi Ge messageDe Zhi Xing ,Diao Yong startactivityHou Hui Tong Bu Deng Dai amsFan Hui De Cuo Wu Ma ,Jie Guo Zhe Kuan Te Shu De Ji Xing Fan Hui Liao Mei You Sheng Ming Zhe Ge Activity,Suo Yi Dui Yu Zhe Chong Qing Kuang Ke Yi Zhi Jie Hu Lue Diao ,Wei Yi De Ying Xiang Jiu Shi Zhe Ge ActivityBu Hui Xian Shi ,Jiu Gen Mei You Diao Yong onClickYi Yang
-
Wo Men Zai appZhong Ji Cheng Liao Ge San Fang De Shu Ju Tong Ji Ku ,Zhe Ge Ku Shi Zai ApplicationDe onCreateDe Zui Hou Chu Shi Hua De ,Dan Shang Xian Hou Zhi Xing Chu Shi Hua Shi Que Beng Kui Liao ,Dui Yu Zhe Chong Qing Kuang Zhi Jie Hu Lue Diao Ye Shi Zui Hao De Xuan Ze . Gen Ju appDe Qi Dong Liu Cheng Lai Fen Xi ,ApplicationDe Chuang Jian Yi Ji onCreateFang Fa De Diao Yong Du Shi Zai Tong Yi Ge messageZhong Zhi Xing De ,Gai messageZhi Xing De Zui Hou Diao Yong Liao ApplicationDe onCreateFang Fa ,You You Yu Zhe Ge Shu Ju Tong Ji Ku Shi Zai onCreateDe Zui Hou Cai Chu Shi Hua De ,Suo Yi Zhi Jie Hu Lue De Hua Ye Mei You Ying Xiang ,Jiu Gen Mei You Chu Shi Hua Guo Yi Yang
-
Wo Men Zuo Liao Ge Jian Cha appShi Fou Xu Yao Sheng Ji De Gong Neng ,Ruo Xu Yao Sheng Ji ,Ze Shi Yong contextKai Qi Yi Ge dialogFeng Ge De ActivityTi Shi Shi Fou Xu Yao Sheng Ji ,Ce Shi Jie Duan Mei You Ren He Wen Ti ,Dan Yi Shang Xian Jiu Beng Kui Liao ,Ti Shi Mei You She Zhi FLAG_ACTIVITY_NEW_TASK,You Yu Qi Dong ActivityDe contextShi Application,Dan Zai Gao Ban Ben androidZhong ,Ke Yi Shi Yong ApplicationQi Dong ActivityBing Qie Bu She Zhi Zhe Ge FLAG,Dan Zai Di Ban Ben Zhong Bi Xu Yao She Zhi Zhe Ge FLAG,Dui Yu Zhe Chong Wen Ti Ye Ke Yi Zhi Jie Hu Lue
API28 ContextImpl startActivityYuan Ma
warnIfCallingFromSystemProcess();
// Calling start activity from outside an activity without FLAG_ACTIVITY_NEW_TASK is
// generally not allowed, except if the caller specifies the task id the activity should
// be launched in. A bug was existed between N and O-MR1 which allowed this to work. We
// maintain this for backwards compatibility.
final int targetSdkVersion = getApplicationInfo().targetSdkVersion;
if ((intent.getFlags() & Intent.FLAG_ACTIVITY_NEW_TASK) == 0
&& (targetSdkVersion < Build.VERSION_CODES.N
|| targetSdkVersion >= Build.VERSION_CODES.P)
&& (options == null
|| ActivityOptions.fromBundle(options).getLaunchTaskId() == -1)) {
throw new AndroidRuntimeException(
"Calling startActivity() from outside of an Activity "
+ " context requires the FLAG_ACTIVITY_NEW_TASK flag."
+ " Is this really what you want?");
}
mMainThread.getInstrumentation().execStartActivity(
getOuterContext(), mMainThread.getApplicationThread(), null,
(Activity) null, intent, -1, options);
}
- Huan You Ge Chong Zhi Xing onclickShi Hong Fa De Yi Chang ,Zhe Xie Hen Duo Shi Hou Du Shi Ke Yi Zhi Jie Hu Lue Diao De
Geng Xin Ri Zhi
- Xiu Fu Android PFan She Xian Zhi Dao Zhi De ActivitySheng Ming Zhou Qi Yi Chang Wu Fa finish ActivityWen Ti
Cockroach 2.0Xin Te Xing
- Cockroach 2.0Jian Shao Liao Cockroach 1.0Ban Ben Zhong ActivitySheng Ming Zhou Qi Zhong Pao Chu Yi Chang Hei Ping De Wen Ti .
- Cockroach 1.0Wei Yu Chou Mou ,Ti Qian Zuo Hao Zhun Bei ,Deng Dai Yi Chang Dao Lai . Cockroach 2.0Ma Hou Pao ,Zhi You Dang Pao Chu Yi Chang Shi Cai Qu Zheng Jiu .
- Cockroach 2.0Shi Tu Zai APPJi Jiang Beng Kui Shi Jin Liang Qu Wan Jiu ,Bu Zhi Yu Qing Kuang Geng Zao Gao .
Yong Yi Zhang Tu Pian Lai Xing Rong Jiu Shi
Te Bie Zhu Yi : Dang viewDe measure,layout,draw,Yi Ji recyclerviewDe bindviewholder Fang Fa Pao Chu Yi Chang Shi Hui Dao Zhi viewrootimplGua Diao ,Ci Shi Hui Hui Diao onMayBeBlackScreen Fang Fa ,Jian Yi Zhi Jie Sha Si app. Mu Qian Ke Yi Lan Jie Dao Pao Chu Yi Chang De ViewRootImpl,Ju Ti Can Kao Zhe https://github.com/android-notes/SwissArmyKnife/blob/master/saklib/src/main/java/com/wanjian/sak/system/traversals/ViewTraversalsCompact.java
Shi Yong Zi Shi
- Bi Xu Yao Zai ApplicationChu Shi Hua Shi Zhuang Zai
Li Ru :
package com.wanjian.demo;
import android.app.Application;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.widget.Toast;
import com.wanjian.cockroach.Cockroach;
/**
* Created by wanjian on 2018/5/19.
*/
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
install();
}
private void install() {
Cockroach.install(new ExceptionHandler() {
@Override
protected void onUncaughtExceptionHappened(Thread thread, Throwable throwable) {
Log.e("AndroidRuntime", "--->onUncaughtExceptionHappened:" + thread + "<---", throwable);
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
toast.setText(R.string.safe_mode_excep_tips);
toast.show();
}
});
}
@Override
protected void onBandageExceptionHappened(Throwable throwable) {
throwable.printStackTrace();//Da Yin Jing Gao Ji Bie log,Gai throwableKe Neng Shi Zui Kai Shi De bugDao Zhi De ,Wu Xu Guan Xin
toast.setText("Cockroach Worked");
toast.show();
}
@Override
protected void onEnterSafeMode() {
int tips = R.string.safe_mode_tips;
Toast.makeText(App.this, getResources().getString(tips), Toast.LENGTH_LONG).show();
}
@Override
protected void onMayBeBlackScreen(Throwable e) {
Thread thread = Looper.getMainLooper().getThread();
Log.e("AndroidRuntime", "--->onUncaughtExceptionHappened:" + thread + "<---", e);
//Hei Ping Shi Jian Yi Zhi Jie Sha Si app
sysExcepHandler.uncaughtException(thread, new RuntimeException("black screen"));
}
});
}
}
Yuan Li Fen Xi
cockroach2.0Tong Guo Ti Huan ActivityThread.mH.mCallback,Shi Xian Lan Jie ActivitySheng Ming Zhou Qi ,
Tong Guo Diao Yong ActivityManagerDe finishActivityJie Shu Diao Sheng Ming Zhou Qi Pao Chu Yi Chang De Activity
Xiang Guan Shi Pin https://github.com/android-notes/Cockroach/blob/master/cockroach.mp4?raw=true