Android 混淆打包apk点击Home键重启App的问题
2016-06-28 12:35
429 查看
很多时候,生活不是你做了想做的事,而是你不得不做的事,逆愿使人成长。
理想效果和使用场景:安装混淆签名的apk,启动app,点击到某页面,点Home键。再点击app图标,回到之前的页面,然而,再点击图标,会重新启动app。
解决办法:
1. App的启动Activity的启动模式不能使用 launchMode="singleTask",推荐使用standard;
—— 设置之后,通过studio直接build打包,或者不混淆打包,可以达到效果;
混淆签名打包,无效;
(一脸懵x......)
2. 设置启动Activity和主页Activity如下:
android:alwaysRetainTaskState="true"
android:clearTaskOnLaunch="false"
—— 安装app,点击完成,达到效果;
安装app,点击打开(即从Installer直接打开),无效;
安装app,点击打开(即从Installer直接打开),杀掉app,点击图标启动app,达到效果;
从其他应用启动app,无效;
(继续懵x......)
3. 在启动Activity的onCreate方法中添加以下代码:
if (!isTaskRoot()) {
finish();
return;
}
—— 以上场景均有效。其他坑,待踩。
理想效果和使用场景:安装混淆签名的apk,启动app,点击到某页面,点Home键。再点击app图标,回到之前的页面,然而,再点击图标,会重新启动app。
解决办法:
1. App的启动Activity的启动模式不能使用 launchMode="singleTask",推荐使用standard;
—— 设置之后,通过studio直接build打包,或者不混淆打包,可以达到效果;
混淆签名打包,无效;
(一脸懵x......)
2. 设置启动Activity和主页Activity如下:
android:alwaysRetainTaskState="true"
android:clearTaskOnLaunch="false"
—— 安装app,点击完成,达到效果;
安装app,点击打开(即从Installer直接打开),无效;
安装app,点击打开(即从Installer直接打开),杀掉app,点击图标启动app,达到效果;
从其他应用启动app,无效;
(继续懵x......)
3. 在启动Activity的onCreate方法中添加以下代码:
if (!isTaskRoot()) {
finish();
return;
}
—— 以上场景均有效。其他坑,待踩。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories