下载地址 :
[百度云](http://yun.baidu.com/share/link?shareid=2047821926&uk=2685299068)
背景 :
为了为以后提升用户体验 , 因此对安卓客户端的信息进行统计
原理 :
客户端 :
1. 安卓客户端启动初始化的时候 , 获取安卓设备的信息 (时间/IP/MAC/版本号)
2. 使用HTTP将数据POST到服务器端的AndroidLog.php中
服务端 :
1. AndroidLog.php获取到POST数据之后 , 对数据进行格式化处理 , 使得数据便于观察和统计
2. 将数据逐条根据一个可逆的算法进行加密 , 然后保存到文件AndroidLog.txt中
管理 :
1. 利用Python脚本获取服务端的日志信息数据 ,
然后逐行进行解密 , 然后将明文保存在本地文件AndroidLog.txt中
存在的问题 :
1. 安全问题 : 直接将安卓客户端的日志信息暴露在web目录下 , 尽管进行了加密 , 但是总归是不安全的
解决方案 :
储存 : 利用php将数据加密后插入数据库
获取 : 从数据库获取数据 , 进行显示
2. 数据分析问题 :
目前只有获得到的原始数据 , 还并没有数据的统计分析的功能
3. IP转地址 :
暂时使用ip138.com的开发API , 目前该平台处于公测阶段 ,
所有查询免费 , 等该平台公测结束 , 则需要修改AndroidLog.php
重写getLocationOfIP($ip)函数
提升部分 :
1. 目前数据的呈现是以为 : txt 形式 , 不具有美观性和直观性
以后希望可以使用 html 进行数据的呈现 , 最好可以能以图表的形式呈现(依据百度统计)
2. 如果可以使用数据库进行数据的存储 , 则可以在管理员的管理界面中添加此功能 ,
然后进行分析和管理 , 就不需要使用txt文件和python脚本
管理方式 :
1. 只需要分析数据 : 双击运行decrypt.py , 即可自动从服务器获取数据并解密 ,
保存在本地AndroidLog.txt文件中
目录结构 :
http://www.xxx.com/AndroidLog.php---------服务端 : 运行的执行记录功能的php
http://www.xxx.com/AndroidLog.txt---------服务端 : 保存的安卓日志信息
AndroidLog.py-----------------------------管理员电脑上 : 获取日志信息 ,
保存在本地AndroidLog.txt中
配置方法 :
注意 : 所有必须的配置在代码中都以 四个注释符 开头 , 例如 :
1.AndroidLog.java ////
2.AndroidLog.php ////
3.AndroidLog.py ####
服务端 :
1. 配置php中的加密算法的密码 , 然后将AndroidLog.php放置在服务器的任意目录中 ,
例如 : http://www.xxx.com/AndroidLog.php
2. 注册ip138公测接口账号 :
2.1. 地址为 : http://user.ip138.com/ip/
2.2. 购买IP查询包 , 目前该平台处于公测状态 , 可以免费使用
2.3. 复制在该平台的到的token值 , 将token设置到php的$token变量中
安卓客户端 :
1. 在Android的Manifest.xml中添加这一行代码(申请网络使用权限) :
<!-- 网络使用权限 -->
<uses-permission android:name="android.permission.INTERNET" />
2. 修改android_log.java中String android_php_path的值 , 将其修改为AndroidLog.php的URL地址
然后在Android目录中添加AndroidLog.java , 然后实例化并调用start()方法即可
如 : 在MainActivity中的Oncreate方法中添加 : new AndroidLog(this).start();
获取日志信息 :
1. 修改AndroidLog.py中url这个变量的初始值 : http://www.xxx.com/AndroidLog.txt
注意 : 这个txt文件必须和php文件在同一个目录 ,
因为php文件记录的日志就保存在php文件的同级目录下
2. 修改AndroidLog.py中解密算法的密码 , 要保证和php中加密算法的密码相同
2. 在命令行中切换入 AndroidLog.py 中 , 键入 python AndroidLog.py ,
当显示 "读取完毕 , 请查看AndroidLog.txt" , 此时说明脚本运行完毕 ,
然后在脚本的同级目录下就可发现 : AndroidLog.txt
查看记录即可
环境要求 : (以下环境测试无BUG)
php5.6 (php需要开启文件写入权限 , 一般php都是开启的 , 不必过多调整)
python2.7
android4.4