`
d63hbz
  • 浏览: 13919 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

在Android上执行Java程序

阅读更多
一些小程序需要在Android设备上跑一下,看看输出。写Android工程就太浪费精力了。

如下代码查看存储设备(路径/storage/external_storage/sda1/)剩余空间:
import android.os.StatFs;

public class FreeDisk {

    public static void main(String[] args) {
        System.out.println("\nFreeMemory = " + FreeMemory("/storage/external_storage/sda1/"));
    }
   
    public static int FreeMemory(String path) {
        StatFs statFs = new StatFs(path);
        int Free = (statFs.getAvailableBlocks() * statFs.getBlockSize()) / 1048576;
        long LongFree = ((long)statFs.getAvailableBlocks() * (long)statFs.getBlockSize()) / 1048576l;
        double DoubleFree = ((double)statFs.getAvailableBlocks() * (double)statFs.getBlockSize()) / 1048576;

        System.out.println("statFs.getAvailableBlocks() = " + statFs.getAvailableBlocks());
        System.out.println("statFs.getBlockSize() = " + statFs.getBlockSize());
        System.out.println("Free = " + Free);
        System.out.println("LongFree = " + LongFree);
        System.out.println("DoubleFree = " + DoubleFree);

        return Free;
    }

}


使用以下shell可以完成代码的执行:
 #android.jar位于Android SDK下的platforms/android-xx目录下,把它配置在类库路径下
javac -classpath android.jar FreeDisk.java 
 #Android的dx工具,将classes文件编译为字节码dex文件
dx --dex --output=classes.dex FreeDisk.class 
zip FreeDisk.zip classes.dex 

adb push FreeDisk.zip  /mnt/sdcard/
adb shell mkdir /mnt/sdcard/dalvik-cache
 #在Android设备上执行代码
adb shell ANDROID_DATA=/mnt/sdcard dalvikvm -cp /mnt/sdcard/FreeDisk.zip FreeDisk 


理论来说,int只有32位大小,只能够查看4GB内存大小;而long有64位大小,能够查看16EB大小。所以一般的需要使用long来记录大小。

 B 比特bit

1 kB = 1024 B (kB - kilobajt) 千
1 MB = 1024 kB (MB - megabajt) 兆
1 GB = 1024 MB (GB - gigabajt) 吉
1 TB = 1024 GB (TB - terabajt) 太
1 PB = 1024 TB (PB - petabajt) 拍
1 EB = 1024 PB (EB - eksabajt) 艾
1 ZB = 1024 EB (ZB - zettabajt) 皆
1 YB = 1024 ZB (YB - jottabajt) 佑
1 BB = 1024 JB (BB - brontobajt)
分享到:
评论

相关推荐

    java android 执行脚本代码(java代码)

    总结来说,Java Android执行脚本代码主要依赖于特定的Android组件、API和第三方库。开发者需要根据项目需求选择合适的方法,并注意性能、安全性和兼容性问题。同时,理解项目结构和构建过程也是开发Android应用的...

    在Android中调用二进制可执行程序

    但是,由于Android自身的特性(如应用程序的安全沙箱、资源管理机制等),直接在Android上运行二进制文件与在普通Linux系统上有所不同。 #### 知识点二:传统方式与新方法的区别 在Android中,通常有两种方式来...

    Android小程序源代码集合

    在Android平台上,小程序是一种轻量级的应用形式,它允许开发者快速构建功能丰富的应用程序,而无需进行繁琐的安装过程。这个“Android小程序源代码集合”是一个极好的资源,适合初学者入门,同时也因为其简单易懂的...

    android使用webView实现java程序与js脚本的相互调用

    同时,WebView还提供了Java代码与JavaScript交互的能力,使得我们可以利用JavaScript的灵活性和Android原生功能的强大结合,创建出丰富的混合应用。本文将详细介绍如何在Android中使用WebView实现Java程序与JS脚本的...

    让Qt应用程序跑在Android上

    尽管在配置和调试过程中可能会遇到一些挑战,但通过熟悉Qt for Android的工作原理和解决问题的方法,开发者能够成功地让Qt应用程序在Android上顺畅运行。对于那些希望涉足Android开发而又不想学习新语言的C++程序员...

    Android逆向-java代码基础(4)

    在Android逆向工程中,Java代码基础扮演着至关重要的角色,因为大部分的Android应用都是用Java语言编写的。本文将深入探讨Java代码基础在Android逆向中的应用,并结合"Android逆向-java代码基础(4)"这个主题进行...

    android J2ME加载器 可以在android机上运行java游戏

    Android平台上的J2ME加载器是一款特殊的软件,它允许用户在Android设备上运行基于Java ME(J2ME)开发的游戏和应用程序。Java ME是Java的一个轻量级版本,主要用于移动设备和嵌入式系统,因此许多早期的移动游戏都是...

    安卓手机运行java程序的工具

    如果您需要在安卓手机上安装java程序或者以前的java小游戏,可以先安装j2me工具,然后将java程序导入其中即可运行

    Android手机版Java五子棋源代码

    此源代码不仅适用于娱乐,更是一个宝贵的教育资源,对于想要学习Android移动开发或者Java编程在Android上的应用的开发者来说,具有很高的学习价值。 在Android平台上开发五子棋应用,首先需要理解Android的开发环境...

    Android的JAVA虚拟机和JAVA环境

    这两个都是针对移动设备优化的Java虚拟机,确保应用程序能够在有限的硬件资源上高效运行。 **Java虚拟机(JVM)** Java虚拟机是Java程序执行的平台,它提供了“一次编写,到处运行”的特性。在桌面系统中,我们...

    android RS232串口读写程序

    在Android平台上实现RS232串口通信是一个相对复杂的过程,因为Android系统默认并不支持直接访问硬件串口。然而,通过JNI(Java Native Interface)技术,我们可以调用C/C++库来实现这一功能。以下是对这个"android ...

    Android程序中(APK程序)执行Adb shell 命令

    综上所述,"Android程序中(APK程序)执行Adb shell命令"涉及到利用Java的Runtime或ProcessBuilder类来调用系统shell,执行特定的命令。这个过程需要理解ADB的作用,以及如何在Android应用程序中安全地使用shell命令...

    Android中执行java命令的方法及java代码执行并解析shell命令

    总的来说,Android虽然不直接支持Java命令的执行,但通过将Java类转换为.dex文件并使用`app_process`,我们可以在Android设备上运行Java程序。同时,结合`ProcessBuilder`,可以实现Java代码执行shell命令并解析其...

    android 运行java main

    在Android平台上运行Java的`main`方法可能会遇到一些与常规Java应用程序不同的情况,因为Android主要设计为运行Android应用程序(APK),这些应用基于Dalvik或ART虚拟机,而不是标准的Java虚拟机(JVM)。...

    Android手机写Java代码的软件(csdn)————程序.pdf

    在Android手机上编写Java代码可能对许多开发者来说是个新鲜的概念,因为通常我们习惯于使用桌面IDE,如Eclipse或IntelliJ IDEA进行编程。然而,随着技术的发展,现在确实存在能够在移动设备上直接编写和运行Java代码...

    java毕业设计之专利分析(android+小程序)源码.zip

    同时,Java的跨平台特性使得项目可以在不同操作系统上运行。 2. **数据库管理**:MySQL 5.7+作为关系型数据库管理系统,用于存储专利数据。其高性能、开源和易用性使其成为小型到大型项目常见的选择。在设计数据库...

    基于android的个人日记本程序(Sqlite数据库).zip

    开发者通过Java代码与SQLite交互,执行相应的数据库操作。 其次,Android的SQLiteOpenHelper是用于管理SQLite数据库的辅助类,它提供了数据库版本管理和数据库创建、升级的方法。在这个日记本程序中,开发者需要...

    Android逆向-java代码基础(1)

    3. **Dalvik字节码与DEX文件**:在Android中,Java代码被编译成Dalvik Executable (DEX) 文件,这是Dalvik VM可执行的格式。了解Dalvik字节码有助于分析应用的运行逻辑。 4. **反编译工具**:逆向工程师常用的工具...

    可在android上运行的irrlicht代码

    它包含了Android应用程序接口(API)调用,使得Java代码可以与C++编写的底层3D渲染引擎进行通信。 5. **libIrrlichtAndroid.so**: 这是Android的本地库文件,包含了Irrlicht Engine的C++代码,通过NDK在Android设备上...

    android2.3可用的java模拟器

    标题中的“android2.3可用的java模拟器”指的是在Android 2.3(Gingerbread)操作系统上能够运行的Java...对于开发者和研究者来说,了解如何在早期版本的Android系统上运行Java应用是一个有趣且具有历史意义的课题。

Global site tag (gtag.js) - Google Analytics