如何在运行时从 Assets 文件夹加载 JAR

2023-12-25

如何在运行时从 Android 应用程序的 asset 文件夹加载 jar 文件。从资产文件夹加载是我的要求。有什么办法可以做到这一点吗?请帮忙 ..


我得到了答案。我在这里添加这个答案。因为这可能对其他一些搜索有帮助。

有一些步骤可以实现这一点。

  1. 您必须将 JAR 文件复制到应用程序的私有内部存储中。

    1. 使用dx在 android 文件夹内的工具中,您必须生成与 JAR 文件关联的classes.dex 文件。 dx 工具将位于该位置/android-sdk/build-tools/19.0.1(Dalvik VM需要这个文件,只是dalvik VM无法读取jar))

    2. 使用aapttool 命令也在同一位置,您必须将classes.dex 添加到JAR 文件中。

    3. 该 JAR 文件可以使用 DexClassLoader 动态加载。

    4. 如果您要从您自己的任何一个库制作 JAR,则每次库源代码发生更改时,您都必须执行此步骤 (1-4)。因此,您可以通过创建 shell 脚本(在 Mac/Linux/Ubuntu 中)或批处理脚本(在 Windows 中)来自动执行此步骤。你可以参考这个link http://linuxcommand.org/wss0010.php了解如何编写 shell 脚本。

Note:实现这种方法的一种情况是,当无法将JAR文件直接添加到核心项目的构建路径中并且需要在运行时动态加载时。在正常情况下,JAR 文件可以添加到构建路径中。

请检查此链接以获取详细代码和实现。

如何在运行时加载jar文件 https://stackoverflow.com/questions/194698/how-to-load-a-jar-file-at-runtime

Android:如何从 JAR 文件动态加载类? https://stackoverflow.com/questions/7947422/android-how-to-dynamically-load-classes-from-a-jar-file

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在运行时从 Assets 文件夹加载 JAR 的相关文章

  • 在包“android”中找不到属性“backgroundTint”的资源标识符

    我发现了一些视图 xml 属性 例如backgroundTint backgroundTintMode 但是当我使用它作为视图属性定义时 Eclipse 显示错误 No resource identifier found for attri
  • 在 Android Studio 中,为什么我必须在模拟器中单击“运行应用程序”两次才能启动应用程序?

    在 Android Studio 中 当我按播放按钮在 Android 模拟器上安装并运行应用程序时 大约 5 10 秒后 我在屏幕底部收到一条消息 显示 安装成功 但应用程序实际上并未运行在模拟器上 我必须再次按下播放按钮 这是非常令人沮
  • Android - 从资产中解析巨大(超大)JSON 文件的最佳方法

    我正在尝试从资产文件夹中解析一些巨大的 JSON 文件 我如何加载并添加到 RecyclerView 我想知道解析这种大文件 大约 6MB 的最佳方法是什么 以及您是否知道可以帮助我处理此文件的良好 API 我建议您使用GSON lib h
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 原色(有时)变得透明

    我正在使用最新的 SDK 版本 API 21 和支持库 21 0 2 进行开发 并且在尝试实施新的材料设计指南时遇到了麻烦 材料设计说我需要有我的primary color and my accent color并将它们应用到我的应用程序上
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 如何使用 IF 检查 TextView 可见性

    我有一个 onCheckedChangeListener 来根据选择的单选按钮显示文本视图 我有 1 个疑问和 1 个难题 想知道是否有人可以帮助我 问题 您能否将单选组默认检查值设置为 否 单选按钮 以便一开始就不会检查任何内容 问题 如
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • 如何默认在 ActionOpenDocument 意图中显示“内部存储”选项

    我需要用户选择一个自定义文件类型的文件 并将其从 Windows 文件资源管理器拖到 Android 设备上 但默认情况下内部存储选项不可用 当我使用以下命令启动意图时 var libraryIntent new Intent Intent
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • 增加活动的屏幕亮度

    显然 Android 操作系统中至少有三种不同的技术可以改变屏幕亮度 其中两个在纸杯蛋糕之后不再起作用 而第三个被接受的技术显然有一个错误 我想在单视图活动开始时增加屏幕亮度 然后在活动结束时将亮度恢复为用户设置 没有按钮 没有第二个视图或
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位

随机推荐

  • 如何分析约 13GB 的数据?

    我有大约 300 个文本文件 其中包含有关跟踪器 种子和对等点的数据 每个文件的组织方式如下 跟踪器 txt time torrent time peer time peer time torrent 我每个跟踪器有几个文件 并且许多信息是
  • 翻转关联数组并将新值存储在子数组中以防止丢失重复值

    我有一个可能包含重复值的平面关联数组 Array for juniors gt product category for men gt product category coats gt product category for women
  • 删除 .vagrant 文件后如何销毁虚拟机?

    我删除了包含 vagrant 文件的目录 当我安装新的虚拟机时 它抱怨端口正在使用中 那么如何在没有 vagrant 文件的情况下销毁虚拟机呢 以下 VirtualBox 命令可能会有所帮助 如果关闭电源不起作用 请尝试取消注册虚拟机 VB
  • 未捕获的类型错误:(0,_firebase.auth)不是函数

    尝试在 React 应用程序中使用 Firebase 身份验证 我按照 firbase 文档中的说明进行操作 使用 npm 安装 firebase 添加了 firebase js 文件 import as firebase from fir
  • GCP Cloud SDK 在 MAC 中安装失败

    无法使用从 gcloud 下载的包 google cloud sdk 307 0 0 darwin x86 64 tar gz 安装 gcloud sdk 支持的 Python 版本为 3 5 至 3 7 以及 2 7 9 或更高版本 这是
  • 使用 Ajax 的 URL 操作参数

    我正在尝试使用参数将数据从视图传递到控制器 现在我遇到了一些困难 一旦我从表中选择一行并按下具有 ShowTasks 的 onclick 方法的按钮 我就尝试传递这些参数 C 控制器 Route service delivery id sh
  • NullPointerException:println 需要一条消息[重复]

    这个问题在这里已经有答案了 我知道我有一个空指针 但我不知道它出现在哪里或为什么 希望在这里能得到一些帮助 Button add Button findViewById R id addfencebutton add setOnClickL
  • 使用WebView.goBack()方法时如何重新发送POST数据?

    我正在开发一个应用程序 我们为用户提供导航回用户之前查看过的网页的选项 当用户导航回包含 POST 数据的页面时 就会出现问题 我不知道如何检测 WebView 中加载的页面是否有 POST 数据 以便应用程序可以提示确认对话框 无论他是否
  • CodeIgniter 中的 set_value() 默认值

    我使用 formigniter 生成 CI 表单 http formigniter org http formigniter org 那一点效果很好 但是我想为名称字段设置默认值 输入代码如下所示
  • tput cols 在脚本中无法正常工作

    我在脚本中使用 tput cols 一切正常 除非窗口最大化 我的脚本能够正确获取任何窗口大小 但是当窗口最大化时 它会得到错误的值 80 然后我直接在终端中输入 tput cols 然后得到正确的大小 158 所以我的问题是 即使窗口最大
  • ASP.NET 和 Visual Studio - 添加项目引用与 Bin 文件夹 DLL

    我昨天刚刚开始一份新工作 这只是我在 ASP NET 方面的第二份工作 我们正在设置我的开发盒 并且在使用一些第三方组件 例如 Telerik 等 时遇到了问题 我注意到他们安装了这些第三方工具 寻找 DLL 文件 将它们复制到 bin 中
  • cakephp auth组件,使用两种模型

    我的网站有一个供员工使用的公共部分和一个供管理员使用的后端 它使用两种不同的模型 员工模型和管理员模型 我想使用身份验证组件进行员工登录和管理员登录 我知道如何设置 Auth 组件以使用默认用户模型以外的模型 但是我可以让身份验证组件使用两
  • Python——检查对象是否是某个模块中任何类的实例

    需要一种方法来检查对象是否是某个特定模块中任何类的实例 我知道我可以通过从该模块显式导入每个类并检查元组来做到这一点 from my module import ClassOne ClassTwo gt gt gt isinstance m
  • RabbitMQ 和 ActiveMQ 在同一台机器上运行

    出于测试目的 我需要在同一台 Windows 计算机上运行 ActiveMQ 和 RabbitMQ 我已经安装了两者 但无法一起运行它们 我需要停止一项服务才能运行另一项服务 这是我尝试启动运行 ActiveMQ 的 RabbitMQ 时遇
  • 在 Laravel 中迁移表时出现“SQLSTATE[HY000] [2002] No such file or directory”错误

    当我尝试使用 php artisan migrate 命令迁移 Laravel 5 中的表时 出现以下错误 SQLSTATE HY000 2002 中没有这样的文件或目录 vendor laravel framework src Illum
  • 使用代码进行 Entity Framework Core 1.0 代码优先迁移?

    在实体框架的早期版本中 可以使用 DbMigrator 类以编程方式控制代码优先迁移 例如 检查并应用可用迁移 该类是否仍然存在于某处或者是否有功能替代 我发现了一篇关于早期 RC 版本的帖子 其中指出了替代品 但 Core 1 0 中似乎
  • JPopupMenu 行为

    我在下面准备了一个小测试用例 我的问题是当我右键单击窗口时 JPopupMenu 显示 但如果我单击 JWindow 菜单之外的任何位置都不会消失 我必须单击窗口上的某个位置才能将其删除 这不是预期的行为 编辑 阅读 akf 的答案后 我切
  • 如何在Asp.Net Mvc中做Basecamp风格的账户?

    对于 Asp Net 软件即服务应用程序 我想要执行基于帐户的子域 例如 Basecamp 和其他 37Signals 产品 例如 acme myapp com 将加载该客户的帐户并仅提取他们的信息 这在 Ruby on Rails 中很容
  • 滚动到 Bootstrap 模式弹出窗口的顶部

    下面显示的是我的 HTML 代码 它是一个 Bootstrap 模式弹出窗口 我想做的是 如果用户单击 保存 按钮 我正在执行某种验证 如果验证失败 则会显示该消息 并且应自动向上滚动到模式弹出窗口的顶部 但它不向上滚动 下面我还指出了 J
  • 如何在运行时从 Assets 文件夹加载 JAR

    如何在运行时从 Android 应用程序的 asset 文件夹加载 jar 文件 从资产文件夹加载是我的要求 有什么办法可以做到这一点吗 请帮忙 我得到了答案 我在这里添加这个答案 因为这可能对其他一些搜索有帮助 有一些步骤可以实现这一点