`
亚当爱上java
  • 浏览: 705892 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

将Android工程做成jar包和资源文件

阅读更多

 

有时候,我们希望将我们的Android工程提供给第三方开发者使用。这个时候,最普遍的做法,就是提供一个jar包和一堆资源文件,第三方开发者可以将资源文件拷贝到Android工程的相应目录下,同时引用我们提供的jar包,就可以使用我们提供的相应API了。

需要特别注意的是,以jar包和资源包方式提供给第三方开发者,我们的工程的代码中就不能使用类似于R.layout.main、R.string.name等等这样的方式来引用资源了。

为此,我们就不能直接使用R文件,而是要通过字段名称来动态的获取资源的id,再来使用。

以下封装了一个类,可以通过字段名称动态获取id。

 

    package com.arui.util;  
      
    import android.content.Context;  
      
    public class ResourceUtil {  
      
        public static int getLayoutId(Context paramContext, String paramString) {  
            return paramContext.getResources().getIdentifier(paramString, "layout",  
                    paramContext.getPackageName());  
        }  
      
        public static int getStringId(Context paramContext, String paramString) {  
            return paramContext.getResources().getIdentifier(paramString, "string",  
                    paramContext.getPackageName());  
        }  
      
        public static int getDrawableId(Context paramContext, String paramString) {  
            return paramContext.getResources().getIdentifier(paramString,  
                    "drawable", paramContext.getPackageName());  
        }  
          
        public static int getStyleId(Context paramContext, String paramString) {  
            return paramContext.getResources().getIdentifier(paramString,  
                    "style", paramContext.getPackageName());  
        }  
          
        public static int getId(Context paramContext, String paramString) {  
            return paramContext.getResources().getIdentifier(paramString,  
                    "id", paramContext.getPackageName());  
        }  
          
        public static int getColorId(Context paramContext, String paramString) {  
            return paramContext.getResources().getIdentifier(paramString,  
                    "color", paramContext.getPackageName());  
        }  
          
    }  

 

当然,如果能够将资源文件也都写入jar包,对于第三方开发者来说,是最方便的。如果想做到这一点,就必须完全在代码中处理布局、图片资源等等,相对来说比较麻烦。如果UI等元素非常的少,值得尝试。

 

本文转自:http://blog.csdn.net/arui319

 

分享到:
评论

相关推荐

    Android工程做成jar包和资源文件

    开发android框架的时候需要对资源文件的处理 还有框架打jar包的时候的注意事项

    基于将Android工程做成jar包和资源文件的解决方法

    总结来说,将Android工程做成jar包并提供资源文件是一种常见的分发库的方式。为了实现这一目标,我们需要编写工具类以动态获取资源ID,并决定是否将资源文件打包进jar包。考虑到第三方开发者的需求和库的易用性,...

    工程导jar包

    在Android开发中,有时我们需要将一个工程中的代码封装成jar包,以便于在其他项目中复用。这个过程称为“工程导jar包”。本文将详细解释如何操作,并探讨jar包在Android开发中的应用。 首先,我们需要理解什么是jar...

    Android 自定义组件成JAR包的实现方法

    本文将详细介绍如何将Android自定义组件打包成JAR文件,以便在各个项目间方便地共享和引用。 首先,我们需要理解自定义组件的基本概念。在Android中,自定义组件通常是对系统原有组件(如TextView、ImageView)的...

    Android工程:引用另一个Android工程的方法详解

    如果一定要做成jar包,就不能使用自动生成的R文件,用到资源时候就要写代码去获取。 另一个思路就是将工程A做成android library project。 设置工程A,右键->Properties->Android,将Is library项选中,然后A

    dex2jar-0.0.9.15.zip

    "dex2jar"工具就是用来将Dex文件转换成Jar文件,以便开发者可以对APK进行反编译、调试或分析。现在我们来深入探讨这个工具及其工作原理。 dex2jar是一个开源项目,由Peng Yu创建,其主要功能是将Android应用的.dex...

    Android反编译工具包.zip

    "Android反编译工具包.zip" 提供了一套常用工具,帮助开发者进行逆向工程分析,以了解 APK 文件的工作原理,或在调试和修复问题时提供帮助。 首先,我们要讨论的是`apktool`,这是一个强大的Android资源文件获取...

    反编译工具包,包含dex2jar、jd-gui以及apktool

    **apktool** 是一个强大的Android APK反编译工具,它可以解包APK文件,提取资源文件,如XML布局、图片等,并将.dex文件反编译为Java源代码。Apktool还支持重新打包和签名,允许开发者对应用进行修改后再打包回APK。...

    反编译打开classes.dex.dex2jar.jar

    在Android应用开发中,APK文件是应用程序的打包格式,其中包含了各种资源、代码和库。`classes.dex`是APK中的核心部分,它包含了Java字节码,这些字节码经过Dalvik虚拟机的优化处理,使得Android设备能够运行应用。...

    Android 反编译全套工具(dex2jar,jdgui)以及详细文档

    总之,"Android 反编译全套工具(dex2jar,jdgui)以及详细文档"是一套实用的资源,它为开发者和安全研究人员提供了便捷的手段,以便于他们探索和理解Android应用的内部结构和行为。通过这些工具和文档,即使没有...

    dex2jar 最新版本

    dex2jar是一款在Android开发领域常用的工具,主要用于将Android应用的.dex(Dalvik Executable)文件转换成Java字节码的.jar文件。这样做的目的是为了便于开发者对APK进行逆向工程,分析代码逻辑,或者进行二次开发...

    Java/APK全套反编译工具(apktool jd-gui dex2jar )

    Dex2jar在Android应用逆向工程中起着桥梁作用,因为它允许将DEX文件转换成Java开发者熟悉的格式。 使用这套工具进行APK反编译的基本流程如下: 1. 首先,使用Apktool对APK进行反编译,这会将资源文件解压并转换为...

    apktool+dex2jar-2.0.zip

    它能够将APK中的资源文件(如XML布局、图片、字符串等)解压到可读的格式,同时也支持重新打包和签名,使得修改后的APK可以重新安装。在`apktool`的帮助下,我们可以查看APK的AndroidManifest.xml文件,了解应用的...

    包装脚本(apktool.bat)+apktool.jar+安装教程

    1. **解包**:使用`apktool d <apk_file>`命令将APK文件解包到一个目录,其中包含反编译后的资源文件和smali代码。 2. **编辑**:进入解包后的目录,你可以自由地修改XML文件、图片、音频等资源,甚至可以编辑smali...

    apk反翻译生成资源文件

    总的来说,了解如何使用Apktool反翻译生成资源文件是Android开发和逆向工程中的重要技能,它能帮助开发者更好地理解APK的内部结构,进行调试、本地化或性能优化。然而,这项技术应当谨慎使用,并且尊重软件知识产权...

    android逆向工具集.rar

    《Android逆向工程工具详解——以apktool、dex2jar和jd-gui为例》 在Android应用开发领域,逆向工程是一种重要的技术手段,用于理解应用程序的工作原理、查找漏洞或进行二次开发。本文将深入探讨Android逆向工具集...

    新版Android开发教程.rar

    也有分析认为,谷歌并不想做一个简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...

    android反编译

    在Android应用开发中,"反编译"是一个重要的概念,主要涉及到对APK文件的逆向工程,以查看或修改其源代码、资源文件或二进制代码。本篇文章将详细探讨这一主题,并针对给定的文件名,如Smali2Java、apktool、dex2jar...

Global site tag (gtag.js) - Google Analytics