MCPcopy Index your code
hub / github.com/dodufish/PIXRA

github.com/dodufish/PIXRA @1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0 ↗ · + Follow
510 symbols 1,165 edges 37 files 341 documented · 67%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AndroidTools

中文版README

About AndroidTools

This library contains the most of tools that we use on Android development. Just add this to your module, you could simplify your code, save your valuable time, and make developing app easier. Enjoy tools, happy coding!

How to use AndroidTools

1.Add it in your root build.gradle at the end of repositories:

allprojects {
      repositories {
          ...
          maven { url 'https://jitpack.io' }
      }
  }

2.Add this to your module's build.gradle file:

dependencies {
        compile 'com.github.mazouri:AndroidTools:1.0'
  }

3.Initiate AndroidTools in your application class:

public class YourApplication extends Application {

  @Override
  public void onCreate() {
      super.onCreate();

      //[Required]
      Tools.init(this);

      //[Optional] if u wanna see AndroidTools internal logs, add this line.
      Tools.openToolsLog(true); 
  }
}

4.Then U could use tools that u want like this:

// print log with tag.
Tools.log().tag(App.class.getSimpleName()).d("print log with tag()");

// is null or its length is 0. [will return false]
Tools.string().isEmpty(App.class.getSimpleName());

// is wifi connected? [will return true||false]
Tools.network().isWifiConnected(this);

Screenshots [tobeupdate]

Classify tools [tobeupdate]

You can also query by docs****.

I believe you could get the meaning of these methods by their name, so I will not translate the desc into English. Enjoy Tools!

Tools

   
Tools.app()获取Application, 即Context

All tools list: AppTool, ApkTool, InputMethodTool, IntentTool, ProcessTool, SnackbarTool, ToastTool, ConstantsTool, ConvertTool, DeviceTool, NetworkTool, BitmapTool, CloseTool, ExternalStorageTool, FileTool, SPTool, LogTool, RegexTool, SecureTool, ShellTool, StringTool, TimeTool, UnitTool.

AppTool

//usage examples:
Tools.appTool().getAllRunningService(Tools.app()); //获取所有运行的服务
    Tools.appTool().startService(Tools.app(), MockService.class); //启动服务
getAllRunningService 获取所有运行的服务
startService 启动服务
stopService 停止服务
bindService 绑定服务
unbindService 解绑服务
getAppVersionCode 获取应用版本号
getLauncherActivity 获取launcher activity
getPackageName 获取应用包名
getTopActivityName 获取顶层activity名称
getVersionNameFromPackage 获取应用版本名称
isActivityExists 判断是否存在Activity
isAppForeground 判断App是否处于前台
isProessRunning 进程是否运行
isProessRunning 进程是否运行
isRunningForeground 判断应用是否在前台运行
isServiceRunning 服务是否运行
launchActivity 打开Activity

ApkTool

//usage examples:
Tools.apk().getAppDetailsSettings(Tools.app()); // 获取App具体设置
                                                               
getAppDetailsSettings获取App具体设置
getAppIcon获取App图标
getAppName获取App名称
getAppPath获取App路径
getAppSignature获取App签名
getAppSignatureSHA1获取应用签名的的SHA1值
getChannelFromApk从apk中获取版本信息
installApp安装App
installAppSilent静默安装App
uninstallAppSilent静默卸载App
isAppDebug判断App是否是Debug版本
isAppInstall检查手机上是否安装了指定的软件
isAppRoot判断App是否有root权限
isSystemApp判断App是否是系统应用
launchApp打开App
uninstallApp卸载App

InputMethodTool

//usage examples:
Tools.inputMethod().isActiveSoftInput(Tools.app()); // 判断输入法是否处于激活状态
           
hideInputSoftFromWindowMethod隐藏键盘 :强制隐藏
isActiveSoftInput判断输入负是否处于激活状态
showInputSoftFromWindowMethod显示输入法

ProcessTool

//usage examples:
Tools.process().getAllBackgroundProcesses(); // 获取后台服务进程
                   
getAllBackgroundProcesses获取所有的后台服务进程
getForegroundProcessName获取前台线程包名
killAllBackgroundProcesses杀死所有的后台服务进程
killBackgroundProcesses杀死后台服务进程

IntentTool

//usage examples:
Tools.intent().getInstallAppIntent("/sdcard/mock.apk"); // 获取安装App的意图
                                   
getAppDetailsSettingsIntent获取App具体设置的意图
getCaptureIntent获取拍照的意图
getComponentIntent获取其他应用组件的意图
getInstallAppIntent获取安装App的意图
getLaunchAppIntent获取打开App的意图
getShareImageIntent获取分享图片的意图
getShareTextIntent获取分享文本的意图
getShutdownIntent获取分享文本的意图
getUninstallAppIntent获取分享文本的意图

SnackbarTool

//usage examples:
Tools.snackbar().dismissSnackbar()(); // 取消snackbar显示
                   
addView为snackbar添加布局 在show...Snackbar之后调用
dismissSnackbar取消snackbar显示
showIndefiniteSnackbar显示自定义时长snackbar
showLongSnackbar显示长时snackbar
showShortSnackbar显示短时snackbar

ProcessTool

//usage examples:
Tools.process().getAllBackgroundProcesses(); // 获取后台服务进程
   
getAllBackgroundProcesses获取后台服务进程

ToastTool

//usage examples:
Tools.toast().showToast(Toast.app, "show toast"); // 获取后台服务进程
               
showToast显示Short型Toast
showToastLong显示Long型Toast

ConvertTool

//usage examples:

Tools.convert().dp2px(50f); // dp转px

                                                                                                                               
bitmap2Bytesbitmap转byteArr
bitmap2Drawablebitmap转drawable
bits2Bytesbits转bytes
byte2FitMemorySize字节数转合适内存大小 保留3位小数
byte2MemorySize字节数转以unit为单位的内存大小
bytes2BitmapbyteArr转bitmap
bytes2Bitsbytes转bits
bytes2CharsbyteArr转charArr
bytes2DrawablebyteArr转drawable
bytes2HexStringbyteArr转hexString
bytes2InputStreambyteArr转inputStream
bytes2OutputStreamoutputStream转byteArr
dp2pxdp转px
px2dppx转dp
px2sppx转sp
sp2pxsp转px
drawable2Bitmapdrawable转bitmap
drawable2Bytesdrawable转byteArr
hexString2ByteshexString转byteArr
input2OutputStreaminputStream转outputStream
inputStream2BytesinputStream转byteArr
inputStream2StringinputStream转string按编码
memorySize2Byte以unit为单位的内存大小转字节数
millis2FitTimeSpan毫秒时间戳转合适时间长度
millis2TimeSpan毫秒时间戳转以unit为单位的时间长度
output2InputStreamoutputStream转inputStream
outputStream2BytesoutputStream转byteArr
outputStream2StringoutputStream转string按编码
string2InputStreamstring转inputStream按编码
string2OutputStreamstring转outputStream按编码
timeSpan2Millis以unit为单位的时间长度转毫秒时间戳
view2Bitmapview转Bitmap

DeviceTool

//usage examples:
Tools.device().getAllSDCardSize(); // 获取SD大小
                                                                                       
coptyToClipBoard复制到剪切板
existSDCard判断SDCard是否可用
getAllSDCardSize获取SD大小
getAppPackageNamelist获取非系统应用包名
getAvailaleSDCardSize获取可用空间大小
getIMEI获取IMEI
getLatestCameraPicture获取最后一次拍照的图片
getLocalIPAddress获取本机IP地址
getMac获取MAC地址
getNavigationBarHeight获取navigationbar高度
getScreenPix获取手机大小(分辨率)
getStatusBarHeight获取statusbar高度
getTopBarHeight获取状态栏高度+标题栏(ActionBar)高度
getUDID获取UDID
goHome主动回到Home,后台运行
isOnline是否有网络
isSoftKeyAvail判断是否有软控制键
isSoftKeyAvail判断是否有软控制键
vibrate震动

NetworkTool

//usage examples:

Tools.network().getDataEnabled()(); // 判断移动数据是否打开

                                           
getDataEnabled判断移动数据是否打开
getDomainAddress获取域名ip地址
getIPAddress获取IP地址
getNetType判断手机连接的网络类型(wifi,2G,3G,4G)
getNetworkOperatorName获取网络运营商名称 如中国移动、中国联通、中国电信
is4G()判断网络是否是4G
isNetworkConnected判断是否连接网络
isWifiConnected判断是否连接wifi
openWirelessSettings打开网络设置界面 3.0以下打开设置界面
setDataEnabled打开或关闭移动数据

BitmapTool

//usage examples:

Tools.bitmap().toRoundCorner(); // 转化成圆bitmap    

                                       
bitmapToByteBitmap转bytes
bitmapToDrawableBitmap转Drawable
bitmapToStringbitmap转换成Base64编码String
byteToBitmapbytes转Bitmap
compressBimap质量压缩图片-压缩在maxSize以内

Core symbols most depended-on inside this repo

isEmpty
called by 51
android-tools/src/main/java/com/mazouri/tools/string/StringTool.java
app
called by 49
android-tools/src/main/java/com/mazouri/tools/Tools.java
getFileByPath
called by 47
android-tools/src/main/java/com/mazouri/tools/io/FileTool.java
string
called by 42
android-tools/src/main/java/com/mazouri/tools/Tools.java
convert
called by 33
android-tools/src/main/java/com/mazouri/tools/Tools.java
bytes2HexString
called by 20
android-tools/src/main/java/com/mazouri/tools/convert/ConvertTool.java
close
called by 18
android-tools/src/main/java/com/mazouri/tools/Tools.java
length
called by 17
android-tools/src/main/java/com/mazouri/tools/string/StringTool.java

Shape

Method 464
Class 41
Enum 3
Function 2

Languages

Java100%
TypeScript1%

Modules by API surface

android-tools/src/main/java/com/mazouri/tools/secure/SecureTool.java52 symbols
android-tools/src/main/java/com/mazouri/tools/device/DeviceTool.java42 symbols
android-tools/src/main/java/com/mazouri/tools/io/FileTool.java40 symbols
android-tools/src/main/java/com/mazouri/tools/convert/ConvertTool.java36 symbols
android-tools/src/main/java/com/mazouri/tools/Tools.java35 symbols
android-tools/src/main/java/com/mazouri/tools/time/TimeTool.java25 symbols
android-tools/src/main/java/com/mazouri/tools/image/BitmapTool.java23 symbols
android-tools/src/main/java/com/mazouri/tools/app/AppTool.java19 symbols
android-tools/src/main/java/com/mazouri/tools/apk/ApkTool.java19 symbols
android-tools/src/main/java/com/mazouri/tools/secure/SecureBase64Tool.java17 symbols
android-tools/src/main/java/com/mazouri/tools/device/NetworkTool.java15 symbols
android-tools/src/main/java/com/mazouri/tools/string/StringTool.java14 symbols

For agents

$ claude mcp add PIXRA \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact