欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用AS(3.0)工具将工程打包成jar

程序员文章站 2024-02-03 18:17:22
...

(1)用AS创建的工程,将工程类型切换到android,如图所示

    利用AS(3.0)工具将工程打包成jar

    1:带有(Project:)标示的build.gradle,配置在dependencies{} 里面的classpath:


	  classpath 'com.android.tools.build:gradle:2.3.3’如图所示
 	  
	2:带有(Module:)标示的build.gradle,配置在android{}里面的【CompileSdkVersion、buildeToolVersion

2_1:CompileSdkVersion是你SDK的版本号,也就是API Level,例如API-19、API-20、API-21等等。

2_2:buildeToolVersion是你构建工具的版本,其中包括了打包工具aapt、dx等等。这个工具的目录位

	   compileSdkVersion 26
	   buildToolsVersion '26.0.2'

	  如图所示:
          
           在dependencies{
		.........
		compile fileTree(include: ['*.jar'], dir: 'libs')
		.........
	   }
	   下一行加入如下内容:




		task makeJar(type: Copy) {
    			delete 'build/TestJar_V1.0.jar' //删除之前的旧jar包
    			from('build/intermediates/bundles/default/') //从这个目录下取出默认jar包
    			into('build/') //将jar包输出到指定目录下
    			include('classes.jar')
    			rename('classes.jar', 'JiaziSDK_V1.3.jar') //自定义jar包的名字
	  	}
		makeJar.dependsOn(build)
      3:将加载布局方式运用动态加载,即为反射加载布局,如下代码所示:
	
public class MResource {
    public static int getLayout(Context context,String resName){
        return getIdByName(context,"layout",resName);
    }

    public static int getDrawable(Context context,String resName){
        return getIdByName(context,"drawable",resName);
    }

    public static int getStr(Context context,String resName){
        return getIdByName(context,"string",resName);
    }

    public static int getAim(Context context,String resName){
        return getIdByName(context,"anim",resName);
    }

    public static int getColor(Context context,String resName){
        return getIdByName(context,"color",resName);
    }

    public static int getXml(Context context,String resName){
        return getIdByName(context,"xml",resName);
    }

    public static int getStyle(Context context,String resName){
        return getIdByName(context,"style",resName);
    }

    public static int getId(Context context,String resName){
        return getIdByName(context,"id",resName);
    }

    public static int getIdByName(Context context, String className, String resName) {
        String packageName = context.getPackageName();
        int id = 0;
        try {
            Class r = Class.forName(packageName + ".R");
            Class[] classes = r.getClasses();
            Class desireClass = null;
            for (Class cls : classes) {
                if (cls.getName().split("\\$")[1].equals(className)) {
                    desireClass = cls;
                    break;
                }
            }
            if (desireClass != null) {
                id = desireClass.getField(resName).getInt(desireClass);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return id;
    }
}

      4:点击AS底部菜单栏,找到Terminal点击打开,输入命令 cd 项目的路径,例如:cd D:\project\android_studio_workspace\JiaziPayT

              再执行:gradle makeJar命令,将AS下工程打包成jar,如图所示

      利用AS(3.0)工具将工程打包成jar

     执行成功,如图所示:

     利用AS(3.0)工具将工程打包成jar




相关标签: android studio jar