`
- 浏览:
43522 次
- 性别:
- 来自:
济南
-
android 动态加载sdcard jar的方法
1.新建Android工程,封装功能java类。
2.选中需要导出的文件夹,右键选中“Export”->"Java(Jar file)"导出jar文件。hello.jar
3.使用dx工具将jar包转换为android 字节码。
命令:dx --dex --output=xx.jar hello.jar
然后把xx.jar放到mnt/sdcard/ 或者其他路径
假如:hello.jar 定义如下:
package com.example.test;
public class Plug {
public int add(int a,int b){
return a+b;
}
public String test(){
return "carter";
}
}
4.使用
private void useDexClassLoader() {
String dexPath = "/mnt/sdcard/xx.jar";
String dexOutputDir = "/data/data/"+getPackageName();
Log.v(TAG, "dexOutputDir="+dexOutputDir);
DexClassLoader pathClassLoader = new DexClassLoader(dexPath, dexOutputDir, null, this
.getClass().getClassLoader());
// dexPath 目标jar或apk的路径 ; dexOutputDirdex 文件路径 ;null 目标类中使用的c/c++库存放的路径
// ; 第四个参数 父装载类
try {
Class class1 = pathClassLoader.loadClass("com.example.test.Plug"); //xx.jar包名+类名
Object object = class1.newInstance();
Class[] params = new Class[2];
params[0] = Integer.TYPE;
params[1] = Integer.TYPE;
Method action = class1.getMethod("add", params);
Integer ret = (Integer) action.invoke(object, 12, 13);
Log.v(TAG, "method : " + action.getName() + ", return :" + ret);
action = class1.getMethod("test");
String aa = (String) action.invoke(object);
Log.v(TAG, "method : " + action.getName() + ", return :" + aa);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
5.这样就实现了从网络下载jar,然后不通过adb install -r 来更新apk了,这种方式适合广告类的插件,因为可以在后台动态加载,不需要弹出更新安装的对话框
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在Android平台上,动态加载.jar文件是一项关键的技术,它允许应用程序在运行时加载新的功能或更新代码,无需重新安装整个应用。下面将详细讲解这一过程的实现步骤和涉及到的知识点。 首先,我们需要创建.jar文件。...
android 插件化动态加载jar 有时候会看到一些应用对应的SDcard里的文件夹里有 ***.jar 等文件,现在明白这些文件大概是用来做应用内自动更新用的。 打比方说,类似eclipse 可以通过预留接口,安装各种插件一样。 ...
在Android应用开发中,动态加载类是一项重要的技术,它允许应用程序在运行时加载新的功能或者更新已有代码,而无需重新安装整个应用。本篇将详细解释如何在Android中实现动态加载类,主要涉及两种ClassLoader:...
1. 集成:首先,将`android-logging-log4j-1.0.3.jar`添加到项目的libs目录下,并在项目构建路径中包含此库。如果是使用Gradle构建系统,可以在build.gradle文件中添加如下依赖: ```groovy dependencies { ...
1. **添加依赖**:在你的项目构建文件(如build.gradle)中,添加microlog4android的依赖。如果使用的是Maven仓库,可以添加如下依赖: ```groovy dependencies { implementation 'org.microlog:microlog-android:...
本文将详细探讨如何在Android项目中使用log4j-Jar包,以及其在日志管理中的作用和优势。 首先,Log4j的核心功能是提供了一种灵活的日志记录方式,允许开发者设置不同的日志级别,如DEBUG、INFO、WARN、ERROR和FATAL...
首先,我们关注的是`microlog4android-1.0.0.jar`文件,这是一个Java类库,你需要将其添加到你的Android项目的依赖库中。这个库提供了丰富的API,允许你方便地记录不同级别的日志,如DEBUG、INFO、WARN、ERROR和...
在Android开发中,如果你需要从FTP服务器下载文件,可以利用FTP相关的Java库,例如使用包含在`ftp.jar`包中的类和方法。这个`ftp.jar`可能是包含了`commons-net`库的一个版本,它是一个广泛使用的开源项目,提供了对...
首先,你需要在项目中添加这个库的依赖,如果使用Gradle构建系统,可以在build.gradle文件中添加以下依赖: ```groovy dependencies { implementation 'commons-net:commons-net:3.6' } ``` 接下来,我们将分步骤...
export BOOTCLASSPATH=/system/framework/core.jar:/system/framework/ext.jar:/system/framework/emma.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar...
在Android平台上,显示Gif动图是一个常见的需求,特别是在创建动态表情、加载动画效果或者游戏场景时。在本示例中,我们将探讨如何利用引入的`GifView.jar`包来实现在Android应用中显示Gif图片。首先,我们需要了解`...
假设AndroidScreenCap的aar或者jar文件已经放置在项目的libs目录下,你可以在app模块的build.gradle文件中添加如下代码: ```groovy dependencies { implementation fileTree(dir: 'libs', include: ['*.aar', '*....
- 将之前提到的`classes.jar`文件以及系统本身的文件添加到新创建的用户库中。 - 调整库的加载顺序,确保`classes.jar`位于列表的最上方。 5. **重新构建项目**:完成以上步骤后,保存设置并重新构建项目。此时,...
拷贝openvc-2.3.1.jar和两个文件夹armeabi和armeabi-v7a到android项目的libs目录下 在oncreate中添加如下代码 private ImageView imageView = null; @Override protected void onCreate(Bundle ...
2. 将下载的jar文件添加到项目的`app/libs`目录下,并在`build.gradle`文件中配置依赖,例如: ```groovy dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) } ``` 3. 如果SDK包含有AAR文件,...
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
为了使用这些资源,开发者需要将"AndroidExcel.zip"解压,并将"jxl.jar"添加到项目的构建路径或依赖中,这样项目才能识别并使用jxl库。同时,他们需要将"ExcelUtil.java"导入到项目源代码中,以便调用`writeExcel`...
确保添加相应的jar文件和对应的armeabi、armeabi-v7a、x86等不同架构的so库文件到对应目录。 3. **配置权限**:在AndroidManifest.xml中添加必要的权限,例如互联网权限(用于在线语音合成)和录音权限。 ```xml ...
**步骤2:**将下载的库文件添加到你的Android项目中。通常,这涉及到将库的jar文件导入到项目的`libs`目录,并在`build.gradle`文件中声明依赖。 **步骤3:**在代码中调用OliveOffice提供的API来处理Office文档。...