问题标签 [dexclassloader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Android - 将类动态加载到内存中
DexClassLoader很棒,但只能通过从内部/外部存储加载编译的类作为 dex/jar 文件来工作。
如何将类直接加载到内存中,而无需先将任何内容写入卡?
我知道 Peter Lawrey 的Java-Runtime-Compiler(即时编译字符串到类),这将是完美的,但它在 android 中不起作用。
android - Dex 类加载器的使用
我想在我的应用程序中使用 dex 类加载器,我在那里阅读了 developer.google 指南和一些关于它的问题,但我仍然无法找到如何使用 dex 类加载器。如果有人在这里解释一个例子,我真的很感激。谢谢你。
我的代码:此代码不起作用
}
java - 使用 DexClassLoader 启动 Activity
我的要求是启动一个 Activity,该 Activity 存在于您的资产文件夹内的 aar 文件中,或者可能位于 SDCard 中。但我得到以下例外:
这是我的代码来实现这一点:
我在哪里做错了?任何帮助都非常有帮助。
android - 如何在自定义数据目录上执行 APK?
我想知道Parallel Space应用程序如何复制和执行其他应用程序,而无需像 Playstore 上的其他应用程序那样复制它们的 APK 或在修改后的包名称下运行它们(例如:“com.whatever.name-of-duplicated-app”)。
在调查了他们的AndroidManifest.xml 、在/data/data/上创建的文件夹以及设备上的日志之后,我能得到的唯一结论是Parallel Space能够以某种方式执行来自其他 APK 的代码,但它映射了数据目录将这些应用程序放入其自己的数据目录中。
证据:
- 目录是这样创建的:/data/data/com.lbe.parallel.intl/parallel_intl/0/whatever-package-name-you-cloned
- 每个重复的应用程序执行都从其代理活动之一的新任务开始,然后以某种方式重复的应用程序取代了新创建的进程。
最初,我认为这是DexClassLoader / PathClassLoader API 的问题,但我无法进一步调查。我也看到了一些这样的问题,但似乎并非如此。
android - 在 Android 中加载外部类
我正在尝试使用 DexClassLoader 动态加载外部类,就像@Shlublu在这里提出的那样
当我执行我的应用程序并且 DexClassLoader 对象尝试查找该类时,它会引发 ClassNotFound 异常。我在 manifest.xml 中添加了读写权限,所以不是错误。
我认为问题在于我用来制作要加载到我的应用程序上的 .jar 的方法。所以我有一些问题...
- 使用 dx 工具将 .java 文件转换为 .jar 的正确方法是什么?
- 加载外部类的包必须和我的.jar文件的包相同吗?(我想不是)
我正在使用 Android 模拟器 API 19 (kit-kat)
android - Android:动态卸载的apk加载
我正在尝试构建一个允许用户为该应用程序安装其他插件的应用程序。我正在将插件模块构建为 apk,并尝试在运行时使用 DexClassLoader 加载这些类。
当我调用非活动类时,它工作正常。当我尝试启动一项活动时,它给了我一个错误,提示找不到活动。您是否在 AndroidManifest.xml 中声明了活动?
有没有办法我也可以从我的插件 apk 中包含资源以正常工作?
android - 如何将外部 apk 插件(jar)发布到 Google Play 商店?
我将创建一个 Android 应用程序(apk),通过 DexClassLoader 上传并执行额外的 jar 打包 dex 字节码运行时。根据 Google Play 的政策 ( https://play.google.com/intl/en_ALL/about/privacy-security/malicious-behavior/ ) “同样,应用程序可能不会下载可执行代码(例如 dex、JAR、.so 文件) 来自 Google Play 以外的来源。” 据我了解,APK 扩展文件不适合这种架构,因为它可能只有两个(“主”和“补丁”)扩展文件。
如何将带有 dex 字节码的多个外部 jar(运行时插件)发布到 Google Play 商店?插件可扩展 Android 应用程序的最佳实践是什么?
java - 如何在 Android 中通过 DexClassLoader 动态调用类
我的应用程序称为MyNiceApp。MyNiceApp 主要只是一个加载CORE视图的核心,该视图由用户根据需要下载的其他插件填充。我在想 Android 会将 MyNiceApp 安装在一个名为MyNiceApp的文件夹中,就像 linux 默认选择 opt/MyNiceApp或 Windows 安装Program Files/MyNiceApp 一样。我认为如果我在MyNiceApp/plugins下创建一个文件夹,然后让DexClassLoader为下载的插件抓取MyNiceApp/plugins,那么我可以调用我的类实现,并将插件视图动态加载到核心视图运行。
问题
- 安装应用程序后如何创建此文件夹(MyNiceApp/plugins),
- DexClassLoader 如何指向MyNiceApp/plugins文件夹,
- 这是针对这种情况的最佳方法吗
java - 如何将文件从服务器下载到插件的内部存储目录
我在内部存储中安装了一个名为MyNiceApp/data/app/com.myniceapp.root_pkg
的应用程序。
问题 1
是否可以以编程方式将文件下载到
/data/app/com.myniceapp.root_pkg
问题 2
MyNiceApp 是核心应用程序,它只包含由插件生成的视图填充的主核心视图,用户将根据需要从我的服务器下载 APK 格式的视图。
是否可以将这些插件 APK 从个人服务器下载到此目录 (
/data/app/com.myniceapp.root_pkg
) 并将视图启动到主核心视图中?
我认为如果我在 /data/app/com.myniceapp.root_pkg/plugins 下创建一个文件夹,然后让 DexClassLoader 抓取 /data/app/com.myniceapp.root_pkg/plugins 以获取下载的插件,那会更好地组织起来,然后我可以调用我的类实现,并在运行时将插件视图动态加载到核心视图。
谢谢大家。
java - 如何获取安装在 Android 设备中的 APK 的完整路径
我有一个名为 Dex App Test 的应用test.aknahs.com.dexapptest 。
- 如何从类test.aknahs.com.dexapptest.TestAPKCall 获取安装时 APK 的路径,
- 如何从另一个应用程序/ APK 中的test.aknahs.com.dexapptest.TestAPKCall类中获取应用程序 Dex App Test 安装时的 APK 路径
在 Android 设备(手机、平板电脑等)和模拟器中。
谢谢大家。