zoukankan      html  css  js  c++  java
  • [Android] Android工程以jar包形式向第三方应用提供服务

    参考: http://www.cnblogs.com/0616--ataozhijia/p/4094952.html

    以API 19为例:

    系统默认提供的 android.jar整体大小为: 21.8 MB 

    手动删除资源文件后, android.jar大小为:  2.6 MB

    从中可以确定:   jar包中是可以放入资源文件的

    那么 jar包中的资源是如何被调用的?? 

    以纯java方式: 见参考

    以Android方式: 参考: http://blog.csdn.net/liguangzhenghi/article/details/8858544

    1、jar被包含进其他项目后,最终生成的apk文件中包含jar中的资源(目录结构也是一样的),这个可以通过zip打开jar和apk查看。

    2、jar中的资源应该也是被jvm管理起来的,但是由于其实际id与原始jar项目中产生的id不一致,导致使用原始jar项目中的资源id不能访问到实际资源。只能通过getClass().getClassLoader().getResourceAsStream()的方式进行访问。

    对于使用jar方式进行组件开发,有以下需要注意:

    1. jar包中一般只包含代码不包含资源。

    2. 如果要在jar中包含资源,则资源文件不应该放在默认的res目录下(因为导入其他项目后可能出现重名冲突),应该在package目录下创建专用的资源目录,如此通过pakcage的不重名来确保导入后资源不冲突。同时,jar中代码不能直接使用R类中资源id进行访问,应该通过getClass().getClassLoader().getResourceAsStream()进行加载。

    3. 字付串资源可以定义成常量的方式来使用。

  • 相关阅读:
    约瑟夫解决问题的循环链表
    [Erlang危机](5.1.0)VM检测概述
    找呀志_java网络编程(5)TCP和udp差额
    有序输出两棵二叉查找树中的元素
    1234567选择3个数字组合
    八皇后问题
    矩阵乘法运算
    求π的近似值
    证明不小于6的偶数都是两个素数之和
    最大公约数最小公倍数
  • 原文地址:https://www.cnblogs.com/0616--ataozhijia/p/4097595.html
Copyright © 2011-2022 走看看