尝试转换相同类型时出现ClassCastException

时间:2015-06-26 16:18:58

标签: java android dex

我正在开发一个基于Android的小型应用程序,该应用程序负责将外部代码作为插件的形式加载。应用程序作为位于SD卡上的dex编译类(任务)的运行时环境,同时提供这些任务/测试的概述。

我们说我有一个服务类,一个测试类(存储在sdcard上)。 当我的应用程序启动时,服务测试类将加载到我的应用程序中。通过通用界面,测试类可以访问所有可用的服务

其中一个测试需要多个服务。当我启动我的应用程序并运行此测试时,我收到以下错误:

$types = [];
$binds = [];
$values = [];

foreach ($taskTypes as $taskType) {
    $types[] = \PDO::INT;
    $binds[] = '?';
    $values[] = $taskType;
}
// Get Entity Manager from wherever
$conn = $entityManager->getConnection();
$stmt = $conn->executeQuery("SELECT COUNT(DISTINCT
    t.int_task_type_id) as a_count
    FROM tbl_xref_people_task t
    WHERE t.bit_completed = true AND
    t.int_people_id = :peopleId AND
    t.int_task_type_id IN (" . implode(',', $binds) . ")",
    $values,
    $types
);
$stmt->execute();
$stmt->fetchAll(); // Fetch

首先我想到的是,在我的应用程序中,使用了另一个 ClassLoader 。我已经检查过,但应用程序只使用了一个 ClassLoader

它似乎与运行该应用程序的设备/手机无关。

对于加载外部dex类,我使用:org.smali:dexlib2:2.0.3

解决:

最后我使用了多个引起上述问题的ClassLoader。

0 个答案:

没有答案