2024-05-29 08:16:13 | 我爱编程网
一、修改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文件夹的语法,如:
删除掉所有不需要的module-library项 PS:感谢 @dezng 的建议
这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.
④在AS中打开源码根目录下新生成的android.ipr
如果在导入时AS出现
则建议按照其给定的解决方法来解决(网址:
+Watches+Limit
),具体内容如下图:
四、解决源码中跳转错误问题
①为当前工程设置正确的SDK和JDK
②设置'Modules'的依赖
先将所有依赖删掉,只留下上图'1''所指向的两个(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
点击上图中'2'指向的'+'并选择上图'3'指向的'Jars or directories'选项,依次将frameworks和external文件夹添加进来.如:
注:推荐把frameworks和external这两个移到最上面,这样在代码跳转时会优先从这两个文件夹下查找,而不是在Android.jar中查找。
其它版本的代码在添加frameworks时可能会显示成:
没有关系,只是显示问题,点击OK还是会把frameworks路径添加进去的.
如果还有代码跳转错误,请仿照上面的步骤将相应代码的路径或jar文件添加到其Dependencies标签页中即可.
五、DEBUG源码
我们可以通过给刚导入的工程在'Modules'中添加'Android Framework'来让AS将它作为一个Android工程,从而方便我们调试代码.
可以按照上图中'1'和'2'来添加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来解决该问题。
在你想要DEBUG的类中,添加main方法。
public static void main(String [] ar){
System.out.println("单元测试开始。");
}
然后,再右键,菜单中就有debug as javaapplication了。
我爱编程网(https://www.52biancheng.com)小编还为大家带来为什么在AS3.0中导入按钮会出现JAVA运行环境出现错误的相关内容。
如果是在输入脚本时出错,那么是因为你安装的是精简版,缺少JDK,只要下一个JDK放在Flash安装目录下的JVM/bin文件夹中就可以了。
最简单的方法,你不是安装了JAVA么,把C:\Program Files\Java\jdk1.6.0_12\bin中所有的内容都拷贝至Flash安装目录下的JVM/bin文件夹中就可以了。
java在cmd中编译执行出现错误javac咋么就错了?java环境变量设置-详细版把jdk安装到计算机后(这里以jdk1.7来安装,其他版本一样),再进行设置,java环境才能够生效。首先,右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新打开的界面中的需要设置三个系统变量属性“JAVA_HOME”、“Path”、“CLASSPATH”。在没安装过jdk前,pa
java为什么运行出错?这个问题确实是由较高版本的JDK编译的javaclass文件试图在较低版本的JVM上运行产生的错误,可以通过下述方法进行解决:1、检查jvm(java命令)和jdk(javac命令)版本是否一致。如果是linux版本,则在命令行中分别输入java-version和javac-version命令来查看版本是否一致。2、如果都一致,但还是解决不了问题,那么肯
java写入错误你的class和app1_1连着了,这里一定要分开,并且app首字母要大写,改成这样的:publicclassApp1_1{publicstaticvoidmain(Stringargs[]){//这里里面的参数String和args也要分开,不要把中间的空格丢了。...}}最后就是文件名一定记得也要改成:App1_1java的各种异常JavaE
用java运行时环境中检测到致命错误问题,怎么解决使用Myeclipse是可以不配置环境变量的,如果是使用eclipse或者Editplus进行编辑则需要有外部JRE的支持!另外jdk中是包含jre的!采用安装版的jdk会自动注册环境变量,如果不是安装版的,可以按照如下进行配置:我的电脑-->属性-->高级-->环境变量,新建一个系统变量,变量名JAVA_HOM
javaweb运行时在程序编写页面出现如图所示的提示,错误在哪?如何修改?window->preferences然后找到你的tomcat所在的目录,打开launch窗口,然后修改tomcatlanuchmode为Runmode。然后点击Apply,最后点击OK.这样设置之后,以后服务器就是在runmode下运行了如何在Web浏览器中启用Java首先静态的html标签是无法直接
php调用函数为什么会出错?你好,很高兴能为您回答这个问题。php中的函数不是这样的调用的,php是在服务器端执行的,你这个onclick是在客户端执行的,所以,onclick调用的是javascript或vbscipt等其它前端脚本。你这样,测试一下,应该会明白了。希望可以帮助你!php自定义函数不能调用是怎么回事注意到你在使用_html这个自定义方法之前,只加载执行了一
java运行时出现异常怎么办?这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。1.在浏览器中设置浏览器的安全级别,打开浏览器,最好是IE浏览器。2.在右上角的设置选项卡中选择
eclipse怎么运行?需要什么Java环境?1.在官网中下载Java,安装JDK。2.设置环境变量:(1)选中“我的电脑”,右键选中“属性”,弹出对话框如图所示:(2)选中对话框左边的“高级系统设置”,弹出对话框如图所示:(3)选中“环境变量”,弹出对话框如图所示:(4)我们先打开电脑找到自己保存Java文件的文件夹进入到JDK文件夹(系统默认为c:\Pro
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00