build.gn文件添加依赖jar包

build.gn文件添加依赖jar包,第1张

回答如下:

第一步直接在build.gradle添加下边的代码:

plugins {

id 'java 'id 'idea'

}

jar{

string somestr=' '

configurations.runtime.each{somestr=somestr+" lib\\"+it.name}manifest{

attributes ' Main-Class ' : ' HexUtil’// packagenameattributes 'Class-Path ' : somestr

}

}

task copyJar(type: Copy){

from configurations.runtimeinto ( ' build/libs/lib')

}

task release(type: Copy,dependsOn: [ build,copyJar]){

}

完成,直接运行任务gradle release就看见目录下生成的包了。

近期在项目中需要对网络访问接口进行jar封装。

在eclipse中进行指定类进行打jar包很简单,但是在android studio中则有点困难,其主要的原因是需要掌握gradle命令形式。接下来就直接上干货。

首先,在你需要进行分装jar的模块进行build.gradle文件下进行以下添加:

然后在Windos CMD中跳转到你的项目路径下,然后执行gradle makeJar命令,如果提示:gradle命令不可用。那么你需要在你的系统环境变量中进行变量的添加:

找到你的gradle插件路径进行添加,然后再在path属性的末尾进行

“%GRADLE_HOME%\bin”添加。

然后输入 "gradle -v"或者"gradle -version"都可以.

如图就说明gradle配置成功了。

然后再cmd命令到你的项目路径下,然后再次输入gradle makeJar回车,

这里提示我们在我需要进行jar分装的模块出错了, 我们按照错误提示进行修改 ,在buold.gradle文件中添加

lintOptions {

   abortOnErrorfalse

}

然后点击Sync Now。再次运行gradle makeJar。然后再一长串的编译后在末尾看到

然后我们在项目模块的build/libs文件夹下看到了我们命名的.jar文件

OK,到此就结束了。上面是个简单的例子,只能打包某个包下面的所有文件,如果要实现只打某个包下面的某些子包或者文件可参考如下示例:

taskmakeSdkJar(type:org.gradle.api.tasks.bundling.Jar){

baseName'pluginsdk'

//只打包org.cmdmac下的org.cmdmac.pluginsdk.impl和org.cmdmac.gamecenter,其他子包不会被打包进去

from('build/intermediates/classes/debug/org/cmdmac/'){

include'pluginsdk/impl'

include'gamecenter'

}

into('org/cmdmac/')

//    exclude('R.class')

//    exclude{ it.name.startsWith('R$')}

taskmakeSdkJar(type:org.gradle.api.tasks.bundling.Jar){

baseName'pluginsdk'

//只打包org.cmdmac下的org.cmdmac.pluginsdk.impl和org.cmdmac.gamecenter,其他子包不会被打包进去

from('build/intermediates/classes/debug/org/cmdmac/'){

include'pluginsdk/impl'

include'gamecenter'

}

into('org/cmdmac/')

//    exclude('R.class')

//    exclude{ it.name.startsWith('R$')}

}

最近刚从eclipse换到Android Studio开发,发现有很多地方与eclipse不大相同 ,还不怎么习惯.

在开发是有事会用到第三方jar包 或者aar包 ,下面说一下这两种包的引用方法:

首先看一下android studio 的项目基本结构:

1.导入jar包:  a. 将使用的jar包直接复制到上图的libs目录下.

b.右键点击该jar包,选择底部的 add as library 项,点击后出现对话框,选择需要导入jar包的项目后ok.

c.点击ok后 ,自动构建项目后再看lib下的jar包,可以看见jar内的类和信息. 导入成功.

       

  

2.导入arr包:

这是我之前导包时出现的错误:

Error:Project app:

Only Jar-type local dependencies are supported. Cannot

handle: D:\Workspace\MyStudioWorkSpace\PersonalMedia\app\libs\slidelibrary-debug.aar     // 意思应该就是仅支持本地依赖

a.同jar包一样复制到libs目录下面

b.找到该moudle的build.gradle文件 ,加入

repositories    {

flatDir {        dirs 'libs'    } }   //作用是添加一个本地仓库,并把libs目录当做仓库地址

C.在dependencies 里加一行代码

compile(name: 'aar-name', ext: 'arr')

重新构建项目 ,在app/build/intermediates目录下就能查看到aar的内容了.

这时候我们就可以在项目中正常使用第三方的类了.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11949247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存