Skip to content

Commit

Permalink
Merge pull request NetEase#75 from NetEase/develop
Browse files Browse the repository at this point in the history
2.4.1
  • Loading branch information
andrewleo authored Mar 10, 2017
2 parents a883848 + 2ad075f commit 7b8333a
Show file tree
Hide file tree
Showing 24 changed files with 202 additions and 172 deletions.
4 changes: 2 additions & 2 deletions AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.netease.qa.emmagee"
android:versionCode="31"
android:versionName="2.4" >
android:versionCode="32"
android:versionName="2.4.1" >

<uses-sdk android:minSdkVersion="8" />

Expand Down
159 changes: 82 additions & 77 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,77 +1,82 @@
##Emmagee - a practical, handy performance test tool for specified Android App

Emmagee is a practical, handy performance test tool for specified Android App, which can monitor CPU, memory,
network traffic, battery current and status([Some devices are not supported](https://github.com/NetEase/Emmagee/wiki/Some-devices-are-not-supported)), new features such as top activity and heap size if rooted([Root Toast may continously show](https://github.com/NetEase/Emmagee/wiki/FAQ)), are also supported in the [latest version](https://github.com/NetEase/Emmagee/releases). Additionally, it also provides several cool features such as customizing interval of collecting data,
rendering real-time process status in a floating window, and much more.

* Homepage: https://github.com/NetEase/Emmagee
* Wiki: https://github.com/NetEase/Emmagee/wiki
* Issues: https://github.com/NetEase/Emmagee/issues
* FAQ: https://github.com/NetEase/Emmagee/wiki/FAQ
* Tags: Android, Java

<img src="https://github.com/andrewleo/pictures/blob/master/Emmagee/V2.0/homepage.png" width="180px" />
&nbsp;
<img src="https://github.com/andrewleo/pictures/blob/master/Emmagee/V2.0/settings.png" width="180px" />
&nbsp;
<img src="https://github.com/andrewleo/pictures/blob/master/Emmagee/V2.0/mailsettings.png" width="180px" />

## Why should I use Emmagee?

Unlike most other performance test tools that only do system-level monitoring, Emmagee provides the ability to monitor any single App. Other advantages that
you should not miss:
* Open source
* Easy to use
* Process-specific monitoring, including CPU, memory, network traffic, battery current, launching time and status
* Floating window that renders real-time process status
* CSV format report that can be converted into any other format you want
* User-defined collecting interval
* Fully support Android 2.2 and above

## How to use Emmagee?

First of all ,you should have Emmagee.apk,download [here](https://github.com/NetEase/Emmagee/releases) or
build the apk file youself [here](https://github.com/NetEase/Emmagee/wiki/How-to-build-emmage.apk%3F),then :

1. Start Emmagee App
2. Configure interval
3. Select a target process
4. Click Start button

And Enjoy!

If you want to stop the test, just go back to Emmagee and click Stop button.

## Coming Soon
* We want you to decide!

## How to Contribute?

You are welcome to contribute to Emmagee, meanwhile you'd better follow the rules below

* It's *NOT* recommended to submit a pull request directly to Emmagee's `master` branch. `develop` branch is more appropriate
* Follow common Java coding conventions
* Put all Java class files under *com.netease* package
* Add the following [license](#license) in each Java class file

## Contributors
* NetEase, Inc.
* [yrom](https://github.com/yrom)
* [LukeOwncloud](https://github.com/LukeOwncloud)

## License
(The Apache License)

Copyright (c) 2012-2015 NetEase, Inc. and other contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
## Emmagee - a practical, handy performance test tool for specified Android App

Emmagee is a practical, handy performance test tool for specified Android App, which can monitor CPU, memory,
network traffic, battery current and status([Some devices are not supported](https://github.com/NetEase/Emmagee/wiki/Some-devices-are-not-supported)), new features such as top activity and heap size if rooted([Root Toast may continously show](https://github.com/NetEase/Emmagee/wiki/FAQ)), are also supported in the [latest version](https://github.com/NetEase/Emmagee/releases). Additionally, it also provides several cool features such as customizing interval of collecting data,
rendering real-time process status in a floating window, and much more.

* Homepage: https://github.com/NetEase/Emmagee
* Wiki: https://github.com/NetEase/Emmagee/wiki
* Issues: https://github.com/NetEase/Emmagee/issues
* FAQ: https://github.com/NetEase/Emmagee/wiki/FAQ
* Tags: Android, Java

<img src="https://github.com/andrewleo/pictures/blob/master/Emmagee/V2.0/homepage.png" width="180px" />
&nbsp;
<img src="https://github.com/andrewleo/pictures/blob/master/Emmagee/V2.0/settings.png" width="180px" />
&nbsp;
<img src="https://github.com/andrewleo/pictures/blob/master/Emmagee/V2.0/mailsettings.png" width="180px" />

## Why should I use Emmagee?

Unlike most other performance test tools that only do system-level monitoring, Emmagee provides the ability to monitor any single App. Other advantages that
you should not miss:
* Open source
* Easy to use
* Process-specific monitoring, including CPU, memory, network traffic, battery current, launching time and status
* Floating window that renders real-time process status
* CSV format report that can be converted into any other format you want
* User-defined collecting interval
* Fully support Android 2.2 and above

## How to use Emmagee?

First of all ,you should have Emmagee.apk,download [here](https://github.com/NetEase/Emmagee/releases) or
build the apk file youself [here](https://github.com/NetEase/Emmagee/wiki/How-to-build-emmage.apk%3F),then :

1. Start Emmagee App
2. Configure interval
3. Select a target process
4. Click Start button

And Enjoy!

If you want to stop the test, just go back to Emmagee and click Stop button.

## Android 5.0 and above

* `Android 5.0 and above`: getRunningTasks() and getRunningAppProcesses() are deprecated and only return your application process, so it is unable to get TopActivity from Android 5.0.
* `Android 7.0`: Google has restricted access to /proc, and also can not get pid of target application from TOP command in Android 7.0, I am so sorry to tell that 7.0 can not be supported.

## Coming Soon
* We want you to decide!

## How to Contribute?

You are welcome to contribute to Emmagee, meanwhile you'd better follow the rules below

* It's *NOT* recommended to submit a pull request directly to Emmagee's `master` branch. `develop` branch is more appropriate
* Follow common Java coding conventions
* Put all Java class files under *com.netease* package
* Add the following [license](#license) in each Java class file

## Contributors
* NetEase, Inc.
* [yrom](https://github.com/yrom)
* [LukeOwncloud](https://github.com/LukeOwncloud)

## License
(The Apache License)

Copyright (c) 2012-2015 NetEase, Inc. and other contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Binary file removed res/drawable-hdpi/goback.png
Binary file not shown.
Binary file added res/drawable-hdpi/left_arrow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/drawable-hdpi/refresh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified res/drawable-hdpi/settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified res/drawable-hdpi/settings_pressed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 0 additions & 2 deletions res/drawable/settings_button.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/settings_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/settings_pressed" android:state_focused="true"/>
<item android:drawable="@drawable/settings"></item>
</selector>
6 changes: 4 additions & 2 deletions res/layout/list_item.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxHeight="80px"
android:maxWidth="80px"
android:maxHeight="100px"
android:maxWidth="100px"
android:layout_gravity="center"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp" />
Expand All @@ -26,6 +26,8 @@
android:layout_height="wrap_content"
android:textSize="18sp"
android:textColor="#5B5B5B"
android:singleLine="true"
android:ellipsize="end"
android:gravity="center_vertical"/>

</LinearLayout>
5 changes: 3 additions & 2 deletions res/layout/navigation_bar.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
android:id="@+id/go_back"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/btn_back" />
android:src="@drawable/left_arrow" />
</LinearLayout>

<TextView
Expand All @@ -30,6 +30,7 @@
android:singleLine="true"
android:text="@string/setting"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="@dimen/text_size_big" />

<LinearLayout
Expand All @@ -38,7 +39,7 @@
android:layout_height="match_parent"
android:layout_weight="0.1"
android:gravity="center_horizontal|center_vertical" >

<ImageView
android:id="@+id/btn_set"
android:layout_width="wrap_content"
Expand Down
9 changes: 6 additions & 3 deletions res/values-zh-rCN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@
<string name="about">关于</string>
<string name="mail_settings">邮件配置</string>
<string name="version_title">版本 </string>
<string name="about_emmagee_intro">Emmagee是一个简单易上手的Android性能监测小工具
主要用于监控单个App的CPU,内存,流量,电量,电流以及整体性能状态
<string name="about_emmagee_intro">Emmagee是一个简单易上手的Android性能监测工具
主要用于监控单个App的CPU,内存,流量,电量,电流,帧率以及整体性能状态
同时支持自定义的监控频率以及性能数据的实时显示.</string>
<string name="about_team">开发团队:网易(杭州)质量保障部</string>
<string name="about_project_address">项目地址:https://github.com/NetEase/Emmagee</string>
Expand All @@ -84,6 +84,9 @@
<string name="collect_heap">统计Heap数据</string>
<string name="root_notification">(需要root)</string>

<string name="root_failed_notification">无法获取root权限,请确认手机是否已经root过</string>
<string name="root_failed_notification">无法获取root权限,请确认手机是否已root</string>
<string name="stop_when_exited">应用退出后停止监听</string>

<string name="update_list">列表更新成功</string>
<string name="nougat_warning">由于Google的限制,Emmagee无法支持7.0及以上版本</string>
</resources>
2 changes: 1 addition & 1 deletion res/values/dimens.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<dimen name="button_height">40dp</dimen>

<dimen name="image_padding">10dp</dimen>
<dimen name="image_padding_small">5dp</dimen>
<dimen name="image_padding_small">10dp</dimen>

<dimen name="line_height">1px</dimen>

Expand Down
5 changes: 4 additions & 1 deletion res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
<string name="mail_settings">Mail Settings</string>
<string name="version_title">Version </string>
<string name="about_emmagee_intro">Emmagee is a practical, handy performance test tool for specified
Android App, which can monitor CPU, memory, network traffic, battery current and status.
Android App, which can monitor CPU, memory, network traffic, battery current, fps and status.
Additionally, it also provides several cool features such as customizing interval of collecting
data, rendering real-time process status in a floating window, and much more.</string>
<string name="about_team">Team:QA, Netease(Hangzhou)</string>
Expand All @@ -85,4 +85,7 @@
<string name="root_notification">(root is necessary)</string>
<string name="root_failed_notification">Fail to get root permission, please check if this phone is rooted</string>
<string name="stop_when_exited">Stop monitoring when app exited</string>

<string name="update_list">Update List Successfully</string>
<string name="nougat_warning">Don\'t support 7.0 and above while Google has restricted access to shell commands and file system</string>
</resources>
6 changes: 3 additions & 3 deletions src/com/netease/qa/emmagee/activity/AboutActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,20 @@
*/
package com.netease.qa.emmagee.activity;

import com.netease.qa.emmagee.R;

import android.app.Activity;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.netease.qa.emmagee.R;

/**
* About Page of Emmagee
*
Expand Down
10 changes: 5 additions & 5 deletions src/com/netease/qa/emmagee/activity/MailSettingsActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.netease.qa.emmagee.R;
import com.netease.qa.emmagee.utils.EncryptData;
import com.netease.qa.emmagee.utils.Settings;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
Expand All @@ -27,17 +31,13 @@
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.netease.qa.emmagee.R;
import com.netease.qa.emmagee.utils.EncryptData;
import com.netease.qa.emmagee.utils.Settings;

/**
* Mail Setting Page of Emmagee
*
Expand Down
Loading

0 comments on commit 7b8333a

Please sign in to comment.