`
寻梦者
  • 浏览: 637896 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android代码编译内存溢出解决

 
阅读更多

由于在Android源码中,很多方法、成员、类、包都被打上@hide标签,这些成员在SDK中没有公开,以至于在编译Launcher源码时最常遇到的类android.view.View的成员mScrollX无法访问。
下面说说如何解决这个问题。
1,准备好编译后的Android源码。
2,在该源码的out目录下寻找包含你所用隐藏类的jar文件,通常文件名为classes.jar。例如framework的jar文件为 out\target\common\obj\JAVA_LIBRARIES\framework_intermediates \classes.jar。
3,在eclipse的Android项目中,选择项目属性->Java Build Path->Libraries->Add Library->User Library->Next-> UserLibraries进入到User Libraries管理界面,点击New新建一个User Library,比如android_framework,点击Add Jars把Jar包加入到建立的User Library中,最后点击OK就可以了。
注意:为了访问因此成员,需要改变类搜索顺序,选择项目属性->Java Build Path->Order and Export,把所建立的User Libraries移到Android SDK的上面。
这个时候你的eclipse中的错误应该已经减少,甚至没有了。

要想在模拟器上马上看效果的话,按照以下方式进行修改:
改掉原始包的名字,切记使用eclipse的重命名机制(在包名上按F2可修改),不仅是类的引用,还有很多xml文件内部的引用(如import com.android.launcher3.R;),只要重命名不错,这些都可以一次性搞定的。最后在AndroidManifest.xml文件里面,找到这句话删除掉(android:sharedUserId="android.uid.shared")。到现在为止,你就拥有了自己的Launcher了!

分享到:
评论

相关推荐

    Android应用源码之防止内存溢出浅析.zip

    在Android应用开发中,内存管理是一项至关重要的任务,因为不当的内存使用可能导致应用程序崩溃或性能下降,最常见的问题就是内存溢出(Out Of Memory,简称OOM)。本资源"Android应用源码之防止内存溢出浅析"着重...

    应用源码之防止内存溢出浅析.zip

    在Android开发过程中,内存管理是至关重要的,尤其是防止内存溢出(Out Of Memory,简称OOM)。本资料"应用源码之防止内存溢出浅析"旨在深入探讨Android应用中的内存优化,帮助开发者避免因不当使用内存导致的应用...

    Android-android原生相册应用编译

    - 注意优化性能,比如使用懒加载策略,避免一次性加载大量图片导致内存溢出。 5. **运行与调试**: - 连接Android设备或者启动模拟器,通过"Run"按钮或快捷键(通常是Shift+F10)运行应用。 - 使用Android Studio...

    Android中内存加载dex

    9. ** 内存压力**:大量.dex文件的加载可能导致内存压力增大,因此,开发者需要关注应用的内存使用情况,避免内存溢出。使用如`LeakCanary`等工具可以帮助检测和修复内存泄漏问题。 10. ** ART与Dalvik的差异**:...

    Androidkiller 最新apktool 已修复反编译时卡死

    `Androidkiller v1.3.1`正是针对这些问题进行了优化,它整合了apktool的功能,并解决了反编译过程中可能出现的问题,如内存溢出、解析错误等。这意味着用户现在可以更加流畅地对APK进行反编译,而不用担心工具中断...

    memtester-4.3.0 for Android

    - **接口兼容性**:修改后的`memtester`增加了API接口,使得它能够无缝集成到Android应用程序中,允许开发者在代码中直接调用内存测试功能。 - **实时反馈**:工具能够实时输出测试结果,开发者可以直接在应用程序...

    Android DevCamp幻灯片分享:和Android源代码一起工作 | 海豚浏览器 胡继堂

    1. **Android源代码编译** - **目的**: - 生成用于调试Native代码所需的符号文件。 - 开启系统中的调试选项。 - 修改系统代码,增加日志输出以分析系统行为。 - 定制Android系统功能。 - **系统准备**: - ...

    Android代码-安卓开发者工具

    "Android代码-安卓开发者工具"这个资源包,很可能是包含了用于Android开发的一系列调试工具,尤其是"android_debug_tools-master"这个文件名暗示了这是一个关于Android调试工具的项目仓库或源代码库。下面,我们将...

    Android Studio 基于NDK加密,防止反编译获取加密key

    2. **内存安全**:防止缓冲区溢出、指针错误等安全隐患。 3. **更新策略**:定期更新加密算法和安全实践,抵御新出现的攻击手段。 总结来说,基于NDK的加密策略是提高Android应用安全性的有效手段。通过结合Java和C...

    Android内存研究

    Android 中的内存溢出通常源于大对象(如Bitmap)的不当处理、内存泄露或长时间运行的后台任务。当分配给应用的内存不足以满足新分配请求时,就会抛出 `java.lang.OutOfMemoryError`。 十二、OOM 及解决办法1)合理...

    deodex too+反编译classes.dexl工具

    "Deodex too"是一款专门用于Deodex操作的工具,它可以帮助开发者将Odex文件转换为普通的Dex文件,从而解决在处理大型或者复杂应用时可能出现的内存溢出问题。内存溢出通常是由于程序尝试分配的内存超过了系统可以...

    valgrind在android板上使用

    在Android平台上使用Valgrind可以帮助开发者更高效地定位和解决内存管理方面的问题,特别是在处理通过JNI接口调用的本地代码时。通过上述步骤的介绍,相信读者已经了解了如何在Android设备上部署和使用Valgrind,...

    Android团购信息源代码

    9. **图片加载库**:如Picasso或Glide,用于优化图片加载,防止内存溢出,并支持网络图片的懒加载。 10. **权限管理**:根据Android的权限模型,可能需要请求访问网络、存储等权限。 11. **单元测试和集成测试**:...

    编译时出现java.lang.OutOfMemoryError Java heap space异常

    4. **并发线程过多**:多线程环境下,如果线程数量过多且每个线程都消耗大量内存,则可能导致内存溢出。 #### 三、解决方法 针对上述原因,可以采取以下措施来解决`java.lang.OutOfMemoryError: Java heap space`...

    android ndk开发实例代码

    4. **构建过程**:在Android Studio中,可以使用CMake或ndk-build脚本来编译本地代码。`Android.mk`或`CMakeLists.txt`文件定义了编译规则,包括源文件路径、库依赖和编译选项等。编译后,NDK会生成`.so`动态链接库...

    Android应用源码之商业项目完整版源代码.rar

    6. **图片加载库**:如Glide或Picasso,优化图片加载和显示,避免内存溢出。 7. **UI设计**:包括自定义View,使用ConstraintLayout、RecyclerView等组件创建复杂布局。 8. **权限管理**:处理Android的运行时权限...

    android-ndk(android-ndk-r25b-darwin.zip)

    4. **跨平台开发**:C/C++代码的跨平台性使得同一套源代码可以在多个操作系统上编译,包括Android和iOS,这对于跨平台游戏和应用开发非常有用。 5. **构建系统**:NDK包含了名为`ndk-build`的构建工具,用于管理C/...

    Android代码-Square.zip

    Picasso支持从网络、本地文件系统或资源加载图片,并能自动处理图片的缩放,避免内存溢出问题。只需几行代码,开发者就可以轻松地在UI中展示图片。 4. **Gson**:虽然Gson不是Square公司的产品,但它常与Square的...

    android-studio-2021.3.1.17-windows.exe

    在使用过程中,可能会遇到诸如内存溢出、编译失败等问题。此时,可以通过调整IDE设置、升级依赖库、清理缓存或查找社区解决方案来解决。 总结,Android Studio 2021.3.1.17 Windows版是一个强大的开发工具,持续...

Global site tag (gtag.js) - Google Analytics