将Android工程打成jar包之后对资源的调用。

Android工程不能完整的打包成jar包。这个主要是R文件导致的,但是我们可以将除了资源文件中的所有东西都打到jar包中。Activity、View等等类。

提供jar包的同时,还需要提供资源文件。

需要注意的是:

1.如果jar包中包含Activity中,一定要在引用的工程中注册

2.如果有资源文件,不能使用R.……  将资源文件拷贝到引用的工程中 使用以下类进行转换调用。

public class MResource { 
public static int getIdByName(Context context, String className, String name) { 
String packageName = context.getPackageName(); 
Class r = null; 
int id = 0; 
try { 
r = Class.forName(packageName + “.R”);

        Class[] classes = r.getClasses();
        Class desireClass = null;  

        for (int i = 0; i < classes.length; ++i) {
            if (classes[i].getName().split("\\$")[1].equals(className)) {
                desireClass = classes[i];
                break;
            }
        }  

        if (desireClass != null)
            id = desireClass.getField(name).getInt(desireClass);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (SecurityException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (NoSuchFieldException e) {
        e.printStackTrace();
    }  

    return id;
}

}

来自为知笔记(Wiz)

时间: 2024-10-25 22:19:20

将Android工程打成jar包之后对资源的调用。的相关文章

idea 工程打包(war) 和 将集成第三方jar的工程 打成jar包 引用

一:idea工程打成war 执行命令 :run:xxxx[war:war] 二:引用集成第三方jar的工程的jar包 原文地址:https://www.cnblogs.com/halo-halo/p/8962424.html

[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

android工程生成jar包

============问题描述============ eclipse里面工程太多,不想再把工程导入到eclipse里面,有没有办法在命令行打包出jar包? ============解决方案1============ eclipse -> file -> export 选jar文件不就行了.

java工程打成jar包在命令行执行运行缓慢问题解决

一个普通的java工程,用cxf连接webserivice.在eclipse下运行正常,但用eclipse达成jar包,在命令行执行却异常缓慢. 通过一些尝试,发现是因为打包的方式不对.eclipse导出可运行jar包有三种方式,分别为: 1.Extract required libraries into generated JAR 2.Package required libraries into generated JAR 3.Copy required libraries into  a

spring boot工程打成JAR包到服务器上运行

只需在项目的pom.xml中加入下面插件 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin </artifactId> </plugin> <plugin> <groupId>org.springframework.boot

Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

转载地址:http://blog.csdn.net/xiaanming/article/details/9257853 最近有一个需要,我们公司做了一个apk客户端,然后其他的公司可以根据自己的需要来替换里面的资源图片,文字等一些资源文件问题,我本来想这个简单,用两个工程直接替换里面的资源文件就行,老大说,这样子不好,如果要改需要改两个客户端,而且还麻烦,叫我将所有的Activity打成Jar包的形式,这样子我们改了里面的内容就直接发布Jar包出去,其他公司直接下载Jar来使用,这样子他们自己公

[Java基础] 深入jar包:从jar包中读取资源文件

转载: http://hxraid.iteye.com/blog/483115?page=3#comments 我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了.看看下面的代码: //源代码1: package edu.hxraid; import java.io.*; public class Resource { public void getRe

java 从jar包中读取资源文件

在代码中读取一些资源文件(比如图片,音乐,文本等等),在集成环境(Eclipse)中运行的时候没有问题.但当打包成一个可执行的jar包(将资源文件一并打包)以后,这些资源文件找不到,如下代码:Java代码 [java] view plaincopy //源代码1: package edu.hxraid; import java.io.*; public class Resource { public  void getResource() throws IOException{ File fil

(转)java 从jar包中读取资源文件

(转)java 从jar包中读取资源文件 博客分类: java 源自:http://blog.csdn.net/b_h_l/article/details/7767829 在代码中读取一些资源文件(比如图片,音乐,文本等等),在集成环境(Eclipse)中运行的时候没有问题.但当打包成一个可执行的jar包(将资源文件一并打包)以后,这些资源文件找不到,如下代码:Java代码 [java] view plaincopy //源代码1: package edu.hxraid; import java