码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2014-09-25 15:11:39      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:des   android   http   io   os   使用   ar   for   文件   

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;  
}

 



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

标签:des   android   http   io   os   使用   ar   for   文件   

原文地址:http://www.cnblogs.com/flyme2012/p/3992522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!