问题标签 [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.

0 投票
0 回答
465 浏览

java - 在 Android 中调用 Dex 文件时应用程序崩溃

我正在尝试从实现特定接口的 APK 中获取视图,但我的应用程序一直在崩溃。我可能弄错了什么?以下是我的方法:

这是传递并由其他应用程序实现的接口:

实现接口并提供视图的应用程序:

在主应用程序中,我浏览了所有已安装的应用程序,并检查具有接口实现的 Dex 文件:

更新

感谢@JesusFreke,我设法获得了堆栈跟踪:

at ca.rev.revcore.MainActivity.onCreate(MainActivity.java:108)位于Class myClass = dexClassLoader.loadClass(className);

0 投票
0 回答
146 浏览

android - 无法在 Android N 设备中运行 Drools Android serialized-kbase 示例

我已经能够在具有 API 级别的设备中运行 drools serialized-kbase 示例( https://github.com/kiegroup/droolsjbpm-integration/tree/6.5.0.Final/drools-examples-android/serialized-kbase ) 21. 但是对于所有较新的设备,我都会收到错误消息

在新手机上流口水的解决方案是什么?我正在使用 Android Studio Canary 9 来构建支持 java 1.8 的应用程序。

我的gradle依赖如下:

0 投票
0 回答
304 浏览

android - 用于优化 dex (odex) 文件的 Android 类加载器

我试图找到一个适用于优化的 dex 文件(odex 文件)的类加载器。我查看了所有的 android 文档,发现了以下类加载器。

它们似乎都适用于 APK 或 JAR 文件(或包含 classes.dex 文件的 APK),但似乎都不适用于 odex 文件:(

我有一个优化的 dex 文件,我想将它加载到我的应用程序中,但我正在努力寻找一种加载文件的方法。有没有办法做到这一点?

谢谢!

0 投票
0 回答
71 浏览

classloader - Dalvik 类加载器(可能)在恶作剧我

我在 Android 4 中有以下代码:

我编译并运行它。并引发了异常,但没有被捕获。这让我有点困惑。但是,经过调查,结果发现它e有 type com.android.bouncycastle.jce.exception.ExtCertificateEncodingException(或类似的东西)而不是 bouncycastle.jce.exception.ExtCertificateEncodingException.

而且,我不完全理解。我想那个类加载器会产生一些我无法理解的魔法。毕竟,我进口了: org.bouncycastle.jce.exception.ExtCertificateEncodingException

  1. 请帮我理解,解释一下。
  2. 为什么类加载器不服从并且不加载它?(我不确定我对这种行为的解释是否正确)。
  3. 为什么我不能import com.android.bouncycastle.jce.exception.ExtCertificateEncodingException
  4. 如何准确捕捉它?我不感兴趣catch(Exception e)
0 投票
1 回答
1375 浏览

java - Android卸载类加载器导致崩溃

我正在开发一个 android 应用程序,并且我正在尝试类似插件的功能,该功能将允许加载额外的 dex 文件以扩展应用程序功能。我已经想出了如何加载扩展 PathClassLoader 的附加 dex 文件,只需进行一些小的更改以允许其他模块进行通信。问题是,当应用程序运行时第一次将 dex 文件加载到应用程序中时,一切正常,然后如果我决定禁用此模块以便卸载类加载器,应用程序将继续正常工作几秒钟然后它抛出异常(仍然继续正常工作),然后在几秒/分钟后(有时甚至需要 5 分钟)再次抛出异常,应用程序因本机堆栈跟踪而崩溃。如果我决定再次加载我之前禁用的模块,它只会增加崩溃的机会。

这是卸载模块类加载器几秒钟后发生的情况:

然后几秒钟或几分钟后,会发生本机崩溃:

这是我正在使用的类加载器

此外,这里是加载这些模块的类:

此外,这里是完整的日志https://pastebin.com/Jhpk4Wpc

知道是什么原因造成的吗?

0 投票
0 回答
361 浏览

android - Android - DexClassLoader 与否?

那里。像更多人一样,我需要使用像插件这样的外部“东西”来自定义我的 android 应用程序行为。我的想法是下载一些 APK 文件(不是 jar)并从中动态加载一个类来执行一些操作。我正在网上搜索,但从未找到有关以下方面的有用信息:

1) 转换没有活动的 APK,将我所需的类暴露在对 dexclassloader 有用的“聚合”中

2)如何从我的应用程序在运行时加载和调用它

3)了解与不同android版本相关的dexclassloader问题。请注意,我也在使用 jeallybean 和牛轧糖。

我发现一些(不完整的)帖子不包含所需的所有信息,与 JAR insthead APK 相关的帖子如下:

http://www.marioalmeida.eu/2015/01/27/how-to-easy-way-load-apk-classes-using-dexclassloader/

请注意,我需要 APK insthad JAR 关于在设备上使用 Sqlite 数据库和其他类似 NFC 的东西。

但是,我希望以我开放的心态。所以,如果有人有其他想法,我会评估。

TIA。

中国

0 投票
2 回答
4935 浏览

android - 如何使用 DexClassLoader 从 aar 文件动态加载类

我已成功通过以下方式从 dex 文件中动态加载类

但我想做的是从aar文件动态加载类,如android dev页面所示(DexClassLoader:一个类加载器,从包含classes.dex条目的.jar和.apk文件加载类。可以使用执行未作为应用程序的一部分安装的代码。)

我在 Android 工作室创建了一个库模块(“testlibrary”),在库模块中创建了 Test.java(我想在调用者应用程序中动态加载的内容),并通过 Gradle Project -> Excute Gradle Task 创建了一个 aar 文件

如何通过 dexclassloader 在以这种通用方式创建的 aar 文件中动态加载类?我已通过提供程序将 aar 文件从 CalledApp 移动到 CallerApp

还是创建aar文件的过程有误?在运行期间,出现错误消息

0 投票
0 回答
279 浏览

android - Android加载其他apk的activity并启动activty

我有一个简单的 android apk,它有一个活动和其他具有简单 UI(两个按钮,一个文本布局)的类,我将其生成为 apk,现在我想在新的 android 应用程序中使用 dex 类加载器加载它并启动来自新应用的 apk 活动。

我写了一个简单的类加载器,但我不知道如何启动该 apk 的活动,下面是为加载类而编写的代码,

请让我知道 1. 如何启动 apk 的活动?2.如何加载所有的apk类?

0 投票
2 回答
1116 浏览

android - 无法安装提取的辅助 dex 和 java.io.IOException:无法打开 DEX 文件

硬件信息

构建.gradle

这里我的 minSdkVersion > 14 ,所以它支持multidex

重要日志

提取 apk 辅助 dexes 成功,但 installSecondaryDexes 失败

我试着

但也失败了,非常感谢任何帮助。

0 投票
0 回答
98 浏览

java - 如何在运行时重新加载android sdk类

是否可以在运行时动态加载 android sdk 类?假设我想android.os.Debug在运行时动态地重新加载类,是否可以动态地重新加载它。

我尝试扩展ClassLoader并提供了android,DexClassLoader但是这些需要类的完整文件路径才能将其加载到内存中,我不知道android sdk类文件驻留在apk/dex中的什么位置。