`
杨梦隶
  • 浏览: 2785 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

动态执行jar包的笔记

 
阅读更多

    Android中加载jar包和java中不太一样,因为Android的虚拟机(Dalvik VM)是不认识Java打出jar的byte code,需要通过dx工具来优化转换成Dalvik byte code才行。这一点在咱们Android项目打包的apk中可以看出:引入其他Jar的内容都被打包进了classes.dex。

 

   用于动态加载的API DexClassLoader、PathClassLoader他们两个的区别是第二个只能加载已经安装到Android系统中的apk文件,这里我们用到的是DexClassLoader。

   步骤:

          1.编写接口和实现

            public interface IDemo {

                public String sayhello();
            }

 

            public class Demo implements IDemo {


               @Override
               public String sayhello() {
                      return "Hello!";
                }
              }

            2打包并转化为dex格式的jar包

               dx --dex --output=test.jar demo.jar

            3通过DexClassLoader加载dex格式的jar包test.jar

               DexClassLoader classLoader = new DexClassLoader( "path/test.jar", optimizerpath, null,cxt.getClassLoader());

            Class mLoadClass = classLoader.loadClass("com.test.Demo");

            sInstance = (IDemo) mLoadClass.newInstance();

            现在就可以使用IDemo接口里的方法了。

分享到:
评论

相关推荐

    java项目导出可执行jar包_笔记

    本篇笔记主要介绍如何将Java项目导出为可执行JAR包,以便在没有开发环境的机器上也能运行程序。 首先,我们需要一个Java项目,该项目已经完成了编码、编译,并且所有的类文件和资源文件都已准备就绪。这些类文件...

    学习笔记hibernate所需jar包.rar

    本篇将详细探讨在使用Hibernate时需要的jar包及其作用,同时也会提及如何正确配置这些库,以便在实际项目中顺利运行。 1. **Hibernate核心库**: Hibernate的核心库`hibernate-core.jar`包含了ORM的主要功能,如...

    MyBatis(学习笔记课件,jar包含源码, Jar包, 中文文档, 以及spring集成jar包

    3. **Jar包**:这是MyBatis的运行时库文件,包含了MyBatis所有必要的类和接口。在项目中引入这个jar包,就可以开始使用MyBatis进行数据库操作了。 4. **中文文档**:MyBatis的官方中文文档详尽地介绍了框架的所有...

    zk开发全套资料(插件,开发手册,jar包,笔记和程序事例)

    3. **jar包**:ZK的核心库通常以jar包的形式提供,包含了ZK的运行时环境和所有UI组件。在开发过程中,这些jar包会被添加到项目的类路径中,以便调用ZK的API进行开发。开发者需要了解如何正确引入和使用这些jar包,以...

    云笔记的jar包

    3. **如何使用云笔记jar包**:开发者在自己的项目中使用这个jar包时,需要将其添加到项目的类路径中,以便运行时能够找到并加载其中的类。这可以通过IDE(如Eclipse、IntelliJ IDEA)的设置,或者在命令行通过`java ...

    java之jvm学习笔记八(实践对jar包的代码签名)

    Java的JVM(Java Virtual Machine)是Java程序运行的基础,它负责解释和执行字节码。在实际开发中,为了确保代码的安全性、完整性和防止恶意篡改,我们需要对Java的JAR(Java Archive)包进行代码签名。本文将深入...

    struts2 配置jar包和超详细笔记

    本笔记将详细阐述Struts2的配置过程及核心jar包的使用。 一、Struts2概述 Struts2是Apache软件基金会的开源项目,它继承了Struts1的优点并解决了其局限性,提供了更加优秀的行动(Action)控制、拦截器...

    spring笔记之helloworld所需要的jar包

    在描述中提到的"spring笔记一helloworld"工程文件中,关键的jar包包括: 1. **spring-core.jar**:这是Spring框架的基础,包含了Spring的核心类和工具类,如BeanFactory和ApplicationContext接口,以及用于反射和...

    整合SSM(Spring+Spring+Mybatis)所有到的jar包和笔记

    这涉及到`spring-mvc` jar包,同时还需要`servlet-api.jar`和`jsp-api.jar`来支持Servlet和JSP运行。 3. **Mybatis配置**:Mybatis的jar包包括`mybatis.jar`和`mybatis-spring.jar`,前者包含Mybatis的主要功能,后...

    mybatis学习笔记和相关帮助文档jar包

    “相关帮助文档jar包”则指的是MyBatis的官方文档或者第三方整理的API文档,以jar包的形式提供,方便开发者离线查阅。这类文档通常会包含MyBatis的类库概述、API接口详细说明、示例代码以及最佳实践等,是开发者理解...

    常用jar包(包括editor.jar,junit.jar等)

    7. **java.txt**:这是一个文本文件,可能包含了关于Java环境的配置信息、版本信息或者开发者笔记,为使用这些jar包提供参考。 在实际开发中,这些jar包可以组合使用,提供从基础的文本编辑到复杂的数据库操作和...

    bookshop 书城项目源码及jar包

    这些jar包是项目运行的必要依赖,确保了功能的正常实现。 "学习"和"java后端"标签表明这个项目是作为学习材料设计的,适合初学者或有一定基础的学习者。通过阅读源码和笔记,你可以逐步了解如何使用Java语言和...

    mybatis-3.5.7的jar包及笔记资料

    9. **学习笔记资料**:配合jar包的学习笔记资料,可能包括了MyBatis的基本概念、配置、使用方法、最佳实践等内容,是快速理解和掌握MyBatis的好帮手。建议使用Notepad++这样的文本编辑器打开,因为Notepad++支持代码...

    zeppelin外部jar包

    注意,Zeppelin也支持通过 `%dep` 命令动态引入JAR包,这可以在不重启解释器的情况下加载新的依赖。例如,你可以在一个笔记本文档的开头输入 `%dep z.load("/path/to/jar/httpclient-4.5.jar")`,然后就可以在该...

    Java Web 实习笔记(二) jar包1

    本笔记主要讨论的是在实习过程中可能会遇到的一些核心jar包,它们对于构建Web应用,尤其是与数据库交互时至关重要。以下将对这些jar包进行详细解读: 1. **mysql-connector-java-5.1.7-bin.jar**: 这是MySQL官方...

    黑马程序员 jpa详解视频教程配套源代码 笔记 jar包 很全的

    这个“黑马程序员 JPA详解视频教程配套源代码 笔记 jar包 很全的”资源提供了全面的学习材料,包括源代码、笔记和必要的库文件,非常适合初学者或者想要深入理解JPA的开发者。 首先,JPA的核心概念是实体(Entity)...

    TT,Timetens jar包,java调用示例

    标题 "TT,Timetens jar包,java调用示例" 暗示我们要讨论的是如何在Java环境中使用Timetens数据库的JDBC驱动程序。Timetens是Oracle公司的一个高性能、内存中的数据管理解决方案,特别适合实时分析和交易处理。在Java...

    mysql连接数据库jar包

    标题中的“mysql连接数据库jar包”特指的是`mysql-connector-java`,这是MySQL官方提供的JDBC驱动程序。这个JAR文件包含了MySQL Connector/J,它是MySQL与Java应用程序之间的接口。当你在Java项目中使用这个JAR文件...

    dwr 例子,jar包,engine.js util.js 学习笔记

    这个压缩包包含的是DWR的实例、相关的jar包以及两个重要的JavaScript文件——`engine.js`和`util.js`,这些都是学习DWR的关键组件。 1. **DWR基础概念**: DWR的核心功能是提供一种方式,使得客户端JavaScript可以...

    Mybatis配置jar和超详细的笔记

    本篇笔记将深入探讨Mybatis的配置过程,以及如何添加必要的jar包,确保项目的正常运行。 首先,我们要理解Mybatis的基本架构。Mybatis的核心组件包括SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession和...

Global site tag (gtag.js) - Google Analytics