利用AS(3.0)工具将工程打包成jar
程序员文章站
2024-02-03 18:17:22
...
(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,如图所示:
执行成功,如图所示:
上一篇: Oracle带条件插入/更新