承接上文:AndroidStudio 实现hotfix热修复一 :https://mp.csdn.net/postedit/88535620
AndroidStudio 实现hotfix热修复二 :https://mp.csdn.net/postedit/88536777
下面是具体的maniactivity中的操作,此处以mainactivity为例,做了一个修复bug的测试:
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView=findViewById(R.id.textViewPress); textView.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.textViewPress: double result=division(100,0); textView.setText(result+"此处是已经热修复之前,修复成功"); break; } } /** * 用于测试热修复的方法 */ public double division(int a, int b) { return a / b; } }
此时,进行打包,可以选择打包类型,均可。
接下来 ,可以对需要修复的地方 进行修改,然后再进行打包。
此时需要一个生成补丁的工具类。
-
Demo地址:https://github.com/aliyun/alicloud-android-demo/tree/master/hotfix_android_demo
-
Mac版本打包工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/SophixPatchTool_macos.zip
-
Windows版本打包工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/SophixPatchTool_windows.zip
-
Linux版本打包工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/SophixPatchTool_linux.zip
-
调试工具地址:http://ams-hotfix-repo.oss-cn-shanghai.aliyuncs.com/hotfix_debug_tool-release.apk
-
maven地址:http://maven.aliyun.com/nexus/content/repositories/releases
我这边用的Windows,可以根据自己的需求自行选择。
包内结构如下:
打开图示的工具:
操作如图所示,在打包正式包的时候,点击设置按钮,配置key等相关的内容。
然后,点击go,打包成功会生成一个补丁包。打包失误会有日志,可以点击查看日志。
打包如下所示:
到此为止,补丁包已经打包成功。