在java中添加源_关于Java:如何在Android Studio中添加链接的源文件夹?

在Eclipse中,我可以将源文件夹作为"链接的源文件夹"添加到我的android项目中。 如何在Android Studio中实现同一目的?

或者是否可以添加外部文件夹以构建gradle?

在您的build.gradle中将以下内容添加到android节点的末尾

android {

....

....

sourceSets {

main.java.srcDirs += 'src/main/'

}

}

真的很有帮助。为什么将sourceSets放在android的范围内?我的dependencies没了。

但是此解决方案仅处理Java文件。那么src下的所有资源-可绘制,布局,字符串等呢?如何将它们放在外部文件夹中?

对于appengine,sourceSet必须位于根级别-不能嵌套在其中。奇怪的是,这将是android模块的一种方式,而appengine模块的另一种方式。

我认为它不支持Eclipse的include / exclude选项。太糟糕了。

我的build.gradle中没有android块。我应该加吗?

@Deckard模块" app"的build.gradle中应该有一个android块,而不是在根构建文件中。

请注意,也可以使用绝对路径-目录然后出现在Android Studio中现有" src"目录的旁边,而不是内部。当将它们内部符号链接并添加为源目录时,将出现"重复类"错误。另请参阅我对symlink答案的评论。

@GyRo您可以对资源文件执行相同的操作:在sourceSets中添加行main.res.srcDirs +=

我不知道什么是" Anrdriod节点"。现在您的分数是-1。

正确的答案是:

android {

....

....

sourceSets {

main.java.srcDirs += 'src/main/'

}

}

此外,如果您的外部源目录不在src/main下,则可以使用如下相对路径:

sourceSets {

main.java.srcDirs += 'src/main/../../../'

}

关于相对路径-我想知道是否可以使用某种gradle变量,例如。 srcDirs + =" $(ProjectDir)/ mylib / src"?我是Gradle的新手,不知道它是否支持这样的功能。

您可以省略srcmain....前缀,因为这些点会取消路径分量。

@BrianWhite如何在另一台机器上指定来源集? sourceSets { main.java.srcDirs += srcmain\\10.51.70.21\me\myco\apps\myapp\src }

我不希望您能够这样做,因为据我所知,它只是使用操作系统open()来访问文件。您可以使用nfs或smb之类的方法将远程目录直接安装到文件系统中,但这并不是特定于Android Studio的。

以防万一有人感兴趣,这里有一个完整的Java模块gradle文件,可正确生成并引用所构建的工件

在Android多模块应用程序中

buildscript {

repositories {

maven {

url"https://plugins.gradle.org/m2/"

}

}

dependencies {

classpath"net.ltgt.gradle:gradle-apt-plugin:0.15"

}

}

apply plugin:"net.ltgt.apt"

apply plugin:"java-library"

apply plugin:"idea"

idea {

module {

sourceDirs += file("$buildDir/generated/source/apt/main")

testSourceDirs += file("$buildDir/generated/source/apt/test")

}

}

dependencies {

// Dagger 2 and Compiler

compile"com.google.dagger:dagger:2.15"

apt"com.google.dagger:dagger-compiler:2.15"

compile"com.google.guava:guava:24.1-jre"

}

sourceCompatibility ="1.8"

targetCompatibility ="1.8"

虽然sourceSets允许您包括整个目录结构,但无法在Android Studio(从1.2版开始)中排除其中的部分内容,如下所述:Android Studio是否从构建中排除类?

在更新Android Studio以支持Android来源的include / exclude指令之前,Symlinks会很好地工作。如果使用Windows,则本机工具(例如junction或mklink)可以完成Un * x符号链接。 CygWin也可以稍加强制性地创建它们。请参阅:Windows中的Git符号链接和如何在Windows 7中使用cygwin进行符号链接

不幸的是,我在Android Studio 2.1.2中通过符号链接得到以下行为:文件显示在项目文件旁边,并且具有干净的版本,并且可以正常工作。但是在符号链接目录中进行更改后的每个常规构建都会产生gradle错误:"无法找到源Java类:// MyClass.java,因为它不属于任何源目录:[ src目录,包括" ... / src / main / java",其中符号链接位于软件包文件夹中]"。

@ user905686是的!天啊。我花了几个小时才发现其他人也遇到了同样的问题。就像您说的那样,符号链接可以进行干净的"重建",但不能在后续运行中使用。它太费时间了,因此我刚刚更新了设置以引用实际目录而不是符号链接。有点痛苦,但是它使开发速度更快。

我已经添加了错误报告issuetracker.google.com/issues/65343978,但是我不确定是否将其作为错误接受。

您可以将源文件夹添加到构建脚本中,然后进行同步。在此处的文档中查找sourceSets:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Basic-Project

我还没有找到添加测试源文件夹的好方法。我已将源手动添加到.iml文件中。当然,这意味着它将在每次同步构建脚本时消失。

如果您不使用gradle(例如,通过APK创建项目),则可以通过Android Studio UI(从3.3.2版开始)进行操作:

右键单击项目的根目录,选择Open Module Settings

点击+ Add Content Root按钮(右中)

添加您的路径并点击OK

以我的经验(使用本机代码),只要您的.so是用调试符号构建的并且来自相同的绝对路径,就会自动识别源文件中添加的断点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ant design datepicker处理日期范围操作

我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣学习前端知识 1需求 此刻日期之前的不能选择 当天日期结束时间比开始时间打 基本样式 <Row gutter{12}><Col span{12}><Form.Item label"活动开始时间">{getFieldDecorator(startTi…

proe2001安装指南

1.系统环境设置:安装PROE2001的硬盘必须是NTFS格式,所以操作平台最好是WINDOWS2000,WIN-XP,或NT4.0,必须附带一张网卡,普通的以太网卡也行(当然,PROE2001已推出可以在WIN98的FAT格式下安装的版本,但由于其不稳定性,且运行速度极慢,笔者建议最好不要安装此版本).我以WIN-XP为例.…

第二十三天 how can I 坚持

今天一90后小伙管我叫大神。。。小菜鸟一枚&#xff0c;哎。遗憾啊。不能很好的利用碎片时间&#xff0c;时间都去哪儿了。今天同学给我共享了他买的智能插座还有小米空气净化器&#xff0c;小米啊&#xff0c;节奏好快。感觉中国现在能和小米竞争的就只有360了&#xff0c;乐视…

深入react技术栈(11):样式处理

我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣 基本样式设置 样式中的像素值 使用className库 Css Modules css模块化遇到了哪些问题 css模块化方案 样式默认局部 使用compose组装样式 class命名技巧 实现css与js共享 外部如何覆盖局部样式 设置样式共存we…

python .center用法_Python Pandas Series.str.center()用法及代码示例

Series.str可用于以字符串形式访问系列的值并对其应用几种方法。 Pandas Series.str.center()函数用于在系列/索引中的字符串的左侧和右侧填充其他字符。该功能等效于Python的str.center()。用法&#xff1a; Series.str.center(width, fillchar’ ‘)参数&#xff1a;width:产…

点到点链路上的OSPF协议

点到点链路上的OSPF协议 OSPF的几个术语&#xff1a; 链路&#xff1a;路由器用来连接网络的接口&#xff1b; 链路状态&#xff1a;描述路由器的接口及其与邻居路由器的关系。所有链路状态信息构成链路状态数据库&#xff1b; 区域&#xff1a;有相同区域标识的一组路由器和网…

BASH中字符串的处理

BASH中字符串的处理 得到长度: 源码: %x"abcd" #方法一 %expr length $x 4 # 方法二 %echo ${#x} 4 # 方法三 %expr "$x" : ".*" 4 # expr 的帮助 # STRING : REGEXP anchored pattern match of REGEXP inSTRING 查找子串: 源码: …

用css实现三角效果

CSS border原理 一个div或者元素的border并不是我们直观意义上的一条有高度的线&#xff0c;而是一个等高梯形或者三角形&#xff08;宽高为0时&#xff09;&#xff0c;可以看一下效果&#xff1a; HTML: <div class"arrow1"></div> CSS: .arrow1{ font…

java响应很慢排插_服务响应时间慢:Java SecureRandom和/ dev / random - java

我正在尝试调试Tomcat上部署的应用程序提供的一些慢速响应。现在&#xff0c;我主要关注SecureRandom和/dev/random(其他一些可能的原因已被调查并排除)。模式如下:第一个调用恰好在Tomcat重新启动后(即使请求在启动后4分钟到达)也仅需30.0 xy秒稍后&#xff0c;某些调用恰好需…

广播多路访问链路上的OSPF

通过本实验可以了解&#xff1a; 1、 路由器OSPF的启动过程&#xff1b; 2、 启用路由接口&#xff0c;并通告网络所在路由&#xff1b; 3、 DR选举的控制&#xff1b; 4、 广播多路访问链路的特征&#xff1b; 实验拓扑图&#xff1a; 实验步骤&#xff1a; 配置各个路由器fa0…

最实用DOS命令参数的中文详解

From: http://hi.baidu.com/moodmusic/blog/item/888856ed309605d7b21cb141.html 一、DIR 命令的格式&#xff1a; dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/l][/c[h] (1)dir /a:attrib 缺省包含所有文件(系统文件.隐含文件) attrib[:][h/-h]只显示隐含文件…

React开发(174):ant design按钮确认删除

<Popconfirmtitle"确认删除?"onConfirm{() > {this.handleDelete(row.code);}}><a style{{ marginLeft: 16 }}>删除</a></Popconfirm>

Android:生命周期案例

在学习Android应用生命周期章节中&#xff0c;书本上写的有点笼统&#xff0c;较难理解。为了理解的更深&#xff0c;写了个程序测试一下。 1、在layout文件夹中建一个dialog_layout.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout x…

vim cscope taglist 使用

From: http://blog.csdn.net/skywalkzf/article/details/5009329 一 . 安装 apt-get install exuberant-ctags cscope global cppcomplete 和 taglist 要到www.vim.org的扩展列表中下载 taglist 的下载地址: http://www.vim.org/scripts/script.php?script_id273 cppcom…

java面试没有全部答对_十道java基础面试题,你能保证全答对吗?

java初级开发面试中经常被问到的问题有好多&#xff0c;下面总结一下常见的问题&#xff0c;先给问题&#xff0c;大家思考一下再看答案。1.JDK 和 JRE 有什么区别&#xff1f;2. 和 equals 有什么区别&#xff1f;3.说说final在java中的作用。4.String类的常用方法有哪些&…

VMworld 2010旧金山胜利闭幕

一年一度的VMware的用户大会VMworld 2010上周在旧金山胜利闭幕&#xff0c;今年的VMworld&#xff0c;创造了有一个神奇&#xff0c;超记录的参加人数&#xff08;达到了17000人&#xff09;&#xff0c;超记录的实验数量&#xff08;超过15000个实验&#xff09;&#xff0c;超…

暂时停止更新博客

由于本人最近身体有恙&#xff0c;做了个小手术&#xff0c;暂时卧床休息&#xff0c;不能继续更新博客&#xff0c;还请他人谅解&#xff01;转载于:https://www.cnblogs.com/accordion/p/4458562.html

React开发(175):注意在回调里面重新渲染列表

handleDeleteOne (id, isBatch) > {console.log(id);this.props.dispatch({type: friendHelper/delBatch,payload: {idList: [id.id],},callback: (res) > {if (res.returnCode 0) {message.success(删除成功);this.getAssistList();}},});

vim 分割窗口

From: http://buaadallas.blog.51cto.com/399160/83607 Vim用户手册 - by Bram Moolenaar 译者&#xff1a;Nek_in [url]http://vimcdoc.sf.net[/url] 分割窗口 显示两个不同的文件&#xff1b;或者同时显示一个文件的两个不同地方&#xff1b;又或者并排比较两个文 件。…