java .iml 是什么文件 如何在idea中添加java8 的运行环境
各位老铁们,大家好,今天由我来为大家分享java .iml 是什么文件,以及如何在idea中添加java8 的运行环境的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
android是什么区域 gynoid
一、修改Android Studio(以下简称AS)的内存配置
因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m,可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一个没有classpath的JDK,这样可以确保使用源码里的库文件
并将其作为要使用的SDK的Java SDK。
三、生成导入AS所需配置文件(*.ipr)
①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)
②检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行:
mmm development/tools/idegen/
在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。
我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
③执行
development/tools/idegen/idegen.sh
等待出现类似下面的结果:
Read excludes: 5ms
Traversed tree: 44078ms
这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ IDEA社区版开发的)的配置文件
Tips:
AS在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:
<excludeFolder url="file://$MODULE_DIR$/.repo"/>
<excludeFolder url="file://$MODULE_DIR$/abi"/>
<excludeFolder url="file://$MODULE_DIR$/art"/>
删除掉所有不需要的module-library项
这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.
④在AS中打开源码根目录下新生成的android.ipr
如果在导入时AS出现
则建议按照其给定的解决方法来解决(网址:http://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit)
四、解决源码中跳转错误问题
①为当前工程设置正确的SDK和JDK
②设置'Modules'的依赖
先将所有依赖删掉(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
点击指向的'Jars or directories'选项,依次将frameworks和external文件夹添加进来.如:
注:推荐把frameworks和external这两个移到最上面,这样在代码跳转时会优先从这两个文件夹下查找,而不是在Android.jar中查找。
其它版本的代码在添加frameworks时可能会显示成:
没有关系,只是显示问题,点击OK还是会把frameworks路径添加进去的.
如果还有代码跳转错误,请仿照上面的步骤将相应代码的路径或jar文件添加到其Dependencies标签页中即可.
五、DEBUG源码
可以通过给刚导入的工程在'Modules'中添加'Android Framework'来让AS将它作为一个Android工程,从而方便调试代码.
可以来添加Android Framework支持.
在代码中加断点,然后选择'Run'->'Attach debugger to Android process'
在弹出的选择进程(Choose Process)对话框中,勾选显示所有进程,选择要DEBUG的代码所在的进程,点击OK即可.
六、其它
代码中很多地方提示Call requires API Level x....出现这个问题是因为AS将工程当做安卓应用程序工程了,且源码中没有指定minSdkVersion.
只需在源码根目录加一个声明minSdkVersion的AndroidManifest.xml文件即可(分享了一个AndroidManifest.xml)。
也可以考虑使用build.gradle来解决该问题。
如何在idea中添加java8 的运行环境
1.JDK环境
目前大多数IDE都没有集成JDK环境,IDEA也是一样,在使用IDEA之前首先要安装JDK,并且配置环境变量。与其他IDE不同之处在于,IDEA不会自动匹配系统的JDK环境,编译时会提示以下错误信息:Using javac 1.7.0_40 to compile java sources
java: JPS build failed to load optimized file manager for javac:
java.lang.NoClassDefFoundError: com/sun/tools/javac/util/DefaultFileManager
java.lang.NoClassDefFoundError: com/sun/tools/javac/file/JavacFileManager
java:致命错误:在类路径或引导类路径中找不到程序包 java.lang
……
java: Compilation failed: internal java compiler error
IDEA可以为每个项目指定不同版本的JDK,并且需要开发者手动配置项目的所使用的JDK版本。配置方法如下:
(1)单击File| Project Structure菜单项,打开ProjectStructure对话框;
(2)在左侧列表框中,选择SDKs列表项,进入SDK配置页面;
(3)若中间的SDK列表框没有选项,则单击“+”号创建一个JDK列表项;
(4)选择JDK列表项,在SDK’JDK’选项卡页面中,单击JDK home path项目的浏览按钮,定位JDK安装路径并保存。
2.项目依赖
IDEA内置了Maven环境,默认采用Maven解决项目依赖问题。在新建项目后,项目的路径中会生成pom.xml文件和项目名.iml文件。新建项目后,IDEA不会自动刷新Maven的依赖。以Spring Application为例,新建项目编译时提示以下错误信息:
java:程序包org.springframework.stereotype不存在
java:程序包org.springframework.context不存在
java:程序包org.springframework.context.support不存在
刷新Maven配置的方法为:
(1)右键单击项目;
(2)在弹出菜单中选择Maven|Reimport菜单项。
此时,IDEA将通过网络自动下载相关依赖,并存放在Maven的本地仓库中。另外,可以将Maven的刷新设置为自动,配置方法为:
(1)单击File|Setting菜单项,打开Settings选项卡;
(2)在左侧的目录树中,展开Maven节点;
(3)勾选Import Maven projects automatically选择项。
在Project Structure的Modules选项卡的Dependencies页面中,可以查看Maven所引用的项目。如果未找到指定项目,则对于项目将用红色波浪线提醒。同时,可在该选项卡中修改Maven的依赖项。
android studio 导出项目
Android Studio导入项目的几种方法
主题 Android Studio Gradle Eclipse
Android Studio默认使用 Gradle构建项目, Eclipse默认使用 Ant构建项目。建议Android Studio导入项目时,使用 Gradle构建项目。
导入Eclipse项目
本例中,使用到的 Eclipse项目结构
-demo为主项目, appcompat_v7为 library项目。
导入Generate Gradle build files项目
Google官方建议是通过本方法进行Android Studio导入 Eclipse项目。
这种方式有一个好处就是兼容 Eclipse的文件目录结构,通过版本控制中的文件过滤,可以在一个项目组中,同时使用 Eclipse和Android Studio。
讲解1
File--> Export
讲解2
选择导出类型。选择 Android--> Generate Gradle build files。
点击 Next。
讲解3
很长一段英语(完全看不懂是什么意思)。
点击 Next。
讲解4
选择要导出的项目。
因为我的 e-demo项目依赖了 appcompat_v7项目,所以我将 e-demo和 appcompat_v7都选择了导出。
点击 Next。
讲解5
最终确认要导出的项目。
Force overriding of existing files表示覆盖导出文件。使用 Generate Gradle build files的方式导出项目,会在项目目录中生成一些文件。这里的覆盖文件指的就是覆盖这些可能已经生成过的文件。如果你之前有使用这种方式导出过项目,建议勾选。
点击 Finish。
讲解6
这一步没有什么好说的,直接点击 Finish。
讲解7
Finish点击完毕,并没有弹出窗口显示导出的项目,就好像什么事情都没有做一样。其实,使用这个方式导出项目,是在项目中添加了一些文件,我们可以到项目目录下去看一看这些生成文件。
工作空间目录下
e-demo目录下
appcompat_v7目录下
我们可以发现:在工作空间目录下,多出了 gradle文件夹和 build.gradle、 build.gradle、 gradlew、 gradlew.bat、 settings.gradle文件;在 e-demo目录下多出了 build.gradle文件;在 appcompat_v7目录下多出了 build.gradle文件。这些文件和文件夹都和 Gradle有关系,用于构建项目。这些文件以及文件夹的作用,我们以后再说。
讲解8
由于 Eclipse的 ADT插件已经很久没有更新了,自动生成的 Gradle编译设置已经跟不上Android Studio的更新速度,所以我们需要手动修改一些内容。
打开工作空间目录下的 gradle--> wrapper--> gradle-wrapper.properties。修改一下内容: distributionUrl=http\://services.gradle.org/distributions/gradle-a.b.c-all.zip--> distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
打开工作空间目录下的 build.gradle文件。修改以下内容:
classpath'com.android.tools.build:gradle:0.x.+'--> classpath'com.android.tools.build:gradle:1.0.0'。
之所以这么设置,是因为: Eclipse导出的 Gradle设置已经不是Android Studio 1.0所支持的 Gradle已经 Gradle插件版本,需要手动更为支持的版本。否则轻则必须不能离线导入项目,重则项目导入失败。
讲解9
打开Android Studio,选择 Open an existing Android Studio project。
讲解10
此时会弹出一个框,让你选择文件夹,这个时候需要注意的就是,你需要选择原来的 Eclipse的工作空间目录,而不是 e-demo目录。
点击 OK。
讲解11
设置导入选项。
此处有一些比较重要的设置需要讲解一下。
Gradle project:此处通常显示的路径并不是你的 Eclipse的工作空间的目录,而是 Eclipse的工作空间的目录中的 gradle路径。你需要手动删除后面的 gradle,否则项目导入,你是看不到你的代码的,只能看到 gradle目录下的内容。
Create directories for empty content roots automatically:不是很明白它的作用,一般默认即可。
Use default gradle wrapper(recommended)和 Use local gradle disribution:这两个是让你设置使用的 Gradle。默认会勾选 Use default gradle wrapper(recommended),我们需要手动勾选 Use local gradle disribution。
Gradle home:勾选 Use local gradle disribution后此项编程可编辑状态,默认的此处的地址为Android Studio安装目录中的 Gradle路径地址。此处可能会有一些错误的警告,提示内容为: Gradle location is incorrect。而你的这个目录下,确实是有 Gradle的。产生这个问题的原因,很可能是因为 Gradle home选项中,路径中的斜杠为/而不是**。你需要点击左右的文件选择按钮,重新选择到Android Studio安装目录中的**Gradle,问题即可解决。
Offline work:设置 Gradle使用离线的方式导入项目。你可以勾选也可以不勾选。如果你有进行讲解8的操作,你则可以勾选,以离线的方式进行编译。
点击 OK。之后便会看到编译进度条,根据每个人机器的配置,编译的时间不同。
编译完成之后,自动跳转到Android Studio的主页面。在编译的工程中,会有以下的弹框:
之所以有这个弹框,是因为Android Studio默认使用 JAVA 1.7进行编译,如果你的项目不是 1.7,则会弹框让你选择。建议选择 Yes,因为当你使用 JAVA 1.7的时候,只要不使用 JAVA 1.7的资源自动释放这个新特性,能够完美得兼容 JAVA 1.6的Android设备。
如果看到下面这个界面,说明你已经导入成功了。
直接导入Eclipse项目
如果不使用 Generate Gradle build files导出项目,可以使用Android Studio直接打开 Eclipse工作空间,进行项目导入。
不使用Gradle编译项目
这种方式可以兼容 Eclipse的文件目录结构,通过版本控制中的文件过滤,可以在一个项目组中,同时使用 Eclipse和Android Studio。但是在Android Studio中并不是使用 Gradle构建项目,而是使用的 Ant。
讲解12
打开Android Studio,选择 Import Non-Android Studio project。
在弹出的目录选择框中,选择 Eclipse的工作空间。
讲解13
接下来回让你选择编译环境。选择 Create project from existing sources。
讲解14
设置 Android Studio Project名称以及存放目录。一般默认即可。
点击 Next。
讲解15
选择资源文件以及资源文件夹。根据你需要导入的项目进行勾选。选择一个项目的时候,你需要选择它依赖的 Library项目以及他的 src和 gen目录。
选择完毕,点击 Next。
讲解16
选择要导入的 jar。第一个.mylyn是 Eclipse插件的内容,我们需要手动过滤掉,其他的
选择完毕,点击 Next。
讲解17
选择Android Studio识别出的 Module,也就是 Eclipse中的 Project。勾选你想导入的项目即可。
选择完毕,点击 Next。
讲解18
选择编译的 SDK。在这里,你需要选择 Android SDK,最好和之前使用 Eclipse时使用的 SDK一样。同样,你也可以再次进行一些简单的环境设置,在此就不说了。
选择完毕,点击 Next。
讲解19
选择识别出的 AndroidManifest.xml文件。默认全部勾选即可。
点击 Finish,Android Studio就开始导入项目了。
讲解18
在导入的过程中,如果Android Studio识别出原项目的依赖关系,便会弹出对话框让你进行选择。如果想保持之前的依赖关系,点击 OK即可。
当你看到这个界面,就表示导入成功了。项目使用 Ant构建,并不是Android Studio默认的 Gradle。
使用Gradle编译项目
本方法有一个缺点就是,一次只能导入一个 Eclipse项目。对于那些只使用到了官方系列的支持包的 Eclipse项目来说,会方面很多,而且同时兼容 Eclipse文件目录结构。
讲解19
打开Android Studio,选择 Import Non-Android Studio project。
在弹出的目录选择框中,选择你想导入的项目所在的目录,而不是 Eclipse的工作空间。
讲解20
Android Studio识别出你的项目是一个 Eclipse Android项目,它将重新使用 Gradle构建项目。
Android Studio会完整复制项目文件到一个新的目录中,你需要设置这个新目录的地址。
设置完毕,点击 Next。
讲解21
将之前 Ant架构改变为 Gradle架构。
Replace jars with dependencies,when possible:将 Ant的 jar依赖关系使用 dependencies重构。
Replace library sources with dependencies,when possible:将 Ant的 library项目的依赖关系使用 dependencies重构。
Create Gradle-style(cameCase) module names:使用 Gradle的样式构建Android Studio的 Module名称。
建议全选,点击 Finish。Android Studio开始编译项目,同时进入Android Studio主页面。
同样的,在编译的过程中,依然会提示你语言等级的问题,选择 Yes。
导入Android Studio项目
Android Studio项目,指的是使用 Gradle进行构建的项目。默认的文件结构如下:
project-name
+ app/
+ src/
+ main/
+ assets/
+ java/
+ package
...
+ res/
+ drawable/
...
+ layout
...
+ values
...
| Androidmanifest.xml
| build.gradle
+ gradle/
+ wrapper/
| gradle-wrapper.jar
| gradle-wrapper.properties
| build.gradle
| gradlew
| gradlew.bat
| settings.gradle
有的一些Android Studio项目有对 Eclipse做兼容处理,项目结构看起来和 Eclipse是相同的。
讲解22
当你从网络上或者其他地方获取到一份Android Studio项目源码时,你希望能够导入到Android Studio中。首先,你需要先对这份源码进行一些修改。具体的修改内容,请参照讲解8。
打开Android Studio,选择 Open an existing Android Studio project。
在弹出的路径选择框中,选择你要导入的Android Studio项目,点击 OK。
讲解23
然后会弹出和讲解11相同的页面,同样,和讲解11进行一样的设置即可。
如果你还想了解更多这方面的信息,记得收藏关注本站。