利用AS(3.0)工具将工程打包成jar
16lz
2021-01-23
(1)用AS创建的工程,将工程类型切换到android,如图所示:
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,如图所示:
执行成功,如图所示:
更多相关文章
- 利用adb工具android真机环境运行cpp(无需root)
- Android 类加载机制以及基于类加载机制的热修复
- android 自定义ButtonTab , ActivityGroup 动态加载 activity
- 史上最全谷歌Android开发工具Android Studio下载地址汇总
- 万能imageLoader加载图片的包装,直接用
- 导入android工程出现:unable to get system library for the proj
- [置顶] 我的Android进阶之旅------>android异步加载图片显示,并且
- phonegap导入工程报错解决办法 错误解析android
- Ant编译android工程之环境搭建