Interface IEmulatedAndroid


public interface IEmulatedAndroid
Interface for a simple Android OS environment.
  • Method Details

    • getAndroidVersion

      int getAndroidVersion()
      Retrieve the emulated Android version.
      Returns:
      the standard implementation currently returns 13
    • getAndroidApiLevel

      int getAndroidApiLevel()
      Retrieve the emulated Android SDK API level.
      Returns:
      the standard implementation currently returns 33
    • getAndroidPlatformABI

      AndroidPlatformABI getAndroidPlatformABI()
      Retrieve the emulated Android architecture.
      Returns:
      the standard implementation currently returns aarch64
    • getState

      IDState getState()
      Retrieve the dexdec emulator state attached to this object. The emulator state is an entry-point into dex emulation facility as well as native code emulation.
      Returns:
    • getApk

      IApkUnit getApk()
      Convenience method.
      Returns:
    • getDex

      IDexUnit getDex()
      Convenience method.
      Returns:
    • getDecompiler

      IDexDecompilerUnit getDecompiler()
      Convenience method.
      Returns:
    • getPackageName

      String getPackageName()
      Convenience method.
      Returns:
      the app's package name (e.g. com.myapp)
    • getMainActivity

      String getMainActivity()
      Convenience method.
      Returns:
      the app's main activity class internal signature (e.g. Lcom/myapp/MainActivity;, or null if there is no main activity
    • getAppFolder

      String getAppFolder()
      Retrieve the application folder on the emulated device.
      Returns:
    • getApkPath

      String getApkPath()
      Retrieve the APK path on the emulated device.
      Returns:
    • getAppDataFolder

      String getAppDataFolder()
      Retrieve the app's data folder for the current user on the emulated device.
      Returns:
    • getLocalApkFile

      File getLocalApkFile()
      Convenience method to retrieve the path to the local APK file (in the JEB project, that is, the file backing up the IApkUnit attached to this object).
      Returns:
    • setLocalApkFile

      void setLocalApkFile(int what, File file)
      Parameters:
      what - only 1 (base.apk) or 2 (split_config.arm64_v8a.apk) is accepted, refer to getLocalApkFile(int) for details
      file - an APK file
    • getLocalApkFile

      File getLocalApkFile(int what)
      Retrieve a specific APK file.
      Parameters:
      what - 0: the apk as returned by getLocalApkFile()
      1: the actual true primary APK, if one is available (usually named base.apk)
      2: the actual split APK holding the native libs, if one is available (usually named split_config.arm64_v8a.apk for arm64 code)
      Returns:
      the wanted apk; on failure, this method forwards to getLocalApkFile()
    • getDropboxFolder

      File getDropboxFolder()
      Returns:
    • invokeMethod

      IDImm invokeMethod(DInvokeType invoketype, String msig, List<IDExpression> args) throws DexDecEvaluationException
      Convenience method wrapping around the dex emulator to emulate a method.
      Parameters:
      invoketype - method type
      msig - full method signature
      args - method arguments (the first one must be the object if the method is non-static)
      Returns:
      the returned value
      Throws:
      DexDecEvaluationException
    • getJavaProperties

      Properties getJavaProperties()
      Retrieve the Java properties object of the emulated app.
      Returns:
    • getSystemProperties

      Map<String,String> getSystemProperties()
      Retrieve the system properties of the emulated process.
      Returns:
    • getUserId

      int getUserId()
      Returns:
    • getProcessId

      int getProcessId()
      Get the emulated process id (PID).
      Returns:
    • callInternal

      Object callInternal(int functionId, Object... params)
      Internal routine. Do not use.
      Parameters:
      functionId -
      params -
      Returns: