http://bestzp.com/?p=83

Android Studio混淆:

build.gradle中

1
2
3
4
5
6

buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

minifEnabled 改为 true;

Android Studio 避免混淆第三方lib:

我这里用的是waps的lib,在proguard-rules.pro文件中加入

1
2
3
4
5

-dontwarn android.support.**
-keep public class cn.waps.** {*;}
-keep public interface cn.waps.** {*;}
-dontwarn cn.waps.**
-ignorewarnings

Drawer的箭头指示器:

使用ToolBar代替ActionBar,添加support-v7的ActionBarDrawerToggle即可。

Drawer覆盖ToolBar:

将ToolBar放入DrawerLayout的第一个子View中即可

获取Root权限并以Root身份执行linux命令的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

//su权限
        try {
            process= Runtime.getRuntime().exec("su");
            os=new DataOutputStream(process.getOutputStream());
            is=new DataInputStream(process.getInputStream());
            os.writeBytes("mount -o remount -o rw /system"+ " \n");
            //>为覆盖,>>为追加
            os.writeBytes("echo '"+response+"' > /etc/hosts" + " \n");
            os.writeBytes(" exit \n");
            os.flush();
            InputStreamReader reader=new InputStreamReader(is);
            StringBuilder builder=new StringBuilder();
            int ch;
            while ((ch=reader.read())!=-1){
                builder.append((char)ch);
                System.out.print((char)ch);
            }
            Log.i("RES",builder.toString());
            mListener.onComplete();
            button.setProgress(100);
            process.waitFor();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

Voelly添加Header信息的方法:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

StringRequest stringRequest = new StringRequest(Request.Method.GET,hostsUrl,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("TAG", error.getMessage(), error);
            }
        }){
            //设置header信息
            @Override
            public HashMap<String, String> getHeaders() {
                HashMap<String, String> params = new HashMap<String, String>();
                String header="header";
                params.put("header1", header);
                return params;
            }
        };

转载于:https://www.cnblogs.com/csonezp/p/4232820.html

FreeDroid开发过程中遇到的一些问题相关推荐

  1. 嵌入式系统开发过程中遇到的——volatile

    嵌入式 系统开发过程中遇到的-- volatile 对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的 .如果系统结构支持独立的 I/O 地址空间,并且是端口映射,就必须使用汇编语言完成 ...

  2. Asp.net开发过程中,我们会遇到很多Exception

    在Asp.net开发过程中,我们会遇到很多Exception,不处理这些Exception的话会出现很难看的页面. 还有一些我们未预料到的Exception,当发生Exception时,我们也必须进行 ...

  3. 项目开发过程中的收获与思考

    2013年7月,我正式毕业了,到公司入职,也就正式成为了一名菜鸟程序员.到今天,2014年1月3日,目前主要的工作是公司一个项目中的一个功能模块,到我进入项目组算起,已经过了四个月了.因此,想写点东西 ...

  4. 小视频开发过程中最关注的两点关键

    小视频凭借它独有的特征在互联网领域获得了属于自己的一席之地,斩获搞笑.游戏.美食等行业后,在教育.财经等方面还拥有更加可观的发展前景.那么,在小视频开发过程中应该怎样结合它的能力实现业务上的突破呢? ...

  5. 人工智能和大数据的开发过程中需要注意这12点

    https://www.toutiao.com/i6636522371094151694/ 2018-12-19 10:16:15 人工智能是近年来科技发展的重要方向,在大数据时代,对数据采集.挖掘. ...

  6. quartusii开发过程中路径不能出现空格或中文

    quartusii开发过程中路径不能出现空格或中文,否则软件出现.stf文件错误提示,开发环境搭建的时候也不能出现空格和中文,否则也会报错.

  7. 对复杂业务组件在实际开发过程中被调用的反思

    写这篇文章的初衷是为了记录我在修复项目中一个复杂业务组件中的bug而引起其他依赖这个组件的功能无法使用的过程中,对使用.维护复杂业务组件的一些思考 原文地址 Bug发生原因 我所在的项目组中, 有一个 ...

  8. 开发过程中快速抓包并解析

    开发过程中快速抓包并解析 这几天小编在工作中遇到了一个灵异事件,客户端使用的是安卓原生系统,服务端使用的是java.需求就是客户端在照相的时候可以实时上传照片.后台接收并保存,并且可以在平台上显示.看 ...

  9. web开发过程中经常用到的一些公共方法及操作

    进化成为程序猿也有段岁月了,所谓的经验,广度还是依旧,只不过是对于某种功能有了多种实现方式的想法.每天依旧不厌其烦的敲打着代码,每一行代码的回车似乎都有一种似曾相识的感觉.于是乎:粘贴复制,再粘贴再复 ...

最新文章

  1. 易语言读写配置项ini文件
  2. 0909初学编译原理
  3. 404.2错误解决方案
  4. 解决 from torch._C import *ImportError: DLL load failed: 找不到指定的程序。
  5. Jimu : .Net Core 分布式微服务框架介绍
  6. [分享]iOS开发-实现view底部控件随着键盘的弹出而上移的效果
  7. 《加勒比海盗4:惊涛怪浪》高清图集 剧照欣赏
  8. c# 对象json互相转换_Go语言进阶之路(六):内置JSON库和开源库gjson
  9. php 跨域解决方案
  10. Computer:路由器连接交换机怎么建立局域网
  11. 修改root用户文件权限为普通用户
  12. webbrowser1 脚本报错_webbrowser脚本错误的解决办法
  13. Linux系统centos下如何通过命令查看CPU内存存储等硬件信息?
  14. shell 输出7的倍数
  15. 2022年11月多家权威机构____编程语言排行榜__薪酬状况
  16. 测试体重的手机软件,手机能测重量的软件
  17. 烤仔观察 | 从蓝海到红海,科技巨头们和他们元宇宙世界
  18. 微信小程序优惠劵功能(包含用户需求,axure原型设计,数据库设计,后台功能,微信小程序功能)
  19. Origin—对数据进行分类描述统计,包括总数,均值,标准差,总和,最小、最大值,中值。
  20. 数据结构 第三节 第八课

热门文章

  1. ActionScript学习笔记(1)- 第一个ActionScript程序
  2. 完全揭秘***利用漏洞***电子邮件系统
  3. 丁胖胖眼中的WINDOWS操作系统(一)
  4. 理解一个名词:用户代理(user agent)
  5. gtkterm ubuntu下好用的串口工具使用心得-转
  6. java过滤器应用实例_Servlet过滤器Filter的简单介绍(附示例)
  7. 专家系统代码实现_前端代码是怎样智能生成的 - 语义化篇
  8. View 5.1 重装上阵(3—用户体验篇)
  9. 20150823 命令练习总结
  10. parseConf(配置文件解析器)