0 0

请教Android内置应用Browser编译成APK的问题20

获取Browser应用源代码,使用android.bat生成ant编译脚本,编译时报告缺少

com.google.android.googleapps.IGoogleLoginService

查相关资料了解到 该包是google提供的可选包,可以在源码目录的以下位置找到:

frameworks\opt

 

我将opt目录下的client.jar 和 framework.jar 放在Project的libs目录下(即第三方jar包所在的目录下)。

 

再执行编译时会报告以下错误:

dex:
    [echo] Converting compiled files and external libraries into bin/classes.dex...
    [apply] UNEXPECTED TOP-LEVEL EXCEPTION:
    [apply] java.lang.IllegalArgumentException: already added: Lcom/google/android/googleapps/IGoogleLoginService$Stub$Proxy;
    [apply] 	at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
    [apply] 	at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
    [apply] 	at com.android.dx.command.dexer.Main.processClass(Main.java:299)

再不知道为什么又会报告已经添加过了?

 

于是我再从build.xml中的dex任务中排除掉以上jar包。此时编译正常了。安装编译的apk时也正常,但运行是出现以下错误:

W/dalvikvm(  849): threadid=3: thread exiting with uncaught exception (group=0x4000fe70)
E/AndroidRuntime(  849): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime(  849): java.lang.VerifyError: com.android.browser.BrowserProvider
E/AndroidRuntime(  849):        at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime(  849):        at java.lang.Class.newInstance(Class.java:1472)
E/AndroidRuntime(  849):        at android.app.ActivityThread.installProvider(ActivityThread.java:3842)
E/AndroidRuntime(  849):        at android.app.ActivityThread.installContentProviders(ActivityThread.java:3659)
E/AndroidRuntime(  849):        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3618)

出好像是类校验错误,不知道各位有遇到同样问题吗?是如何解决的?


问题补充:
不会是与JDK版本有关系的。
我使用的JDK1.6,而Android的虚拟机是自己实现的,应该不存在JDK版本的问题呀。
问题补充:
谢谢lovewhzlq的关注,但我调整了JDK的版本,该问题依然没有解决;
Android官方文档中对于JDK的要求是:1.5.0-12之上即可,依此我使用JDK1.6应该是没有问题的。看到你的提示后我尝试将JDK换成了1.5.0-12,该问题依然存在。
再次感谢你的关注。
2009年7月13日 17:06

2个答案 按时间排序 按投票排序

0 0

你ant使用的是不是jdk的编译器吗,默认应该是吧,

2009年7月15日 11:02
0 0

应该是你的jdk版本和它的类文件版本有点不兼容吧

2009年7月13日 17:10

相关推荐

    apk.rar_.apk_android_android apk_apk

    标题中的"apk.rar_.apk_android_android apk_apk"暗示了我们正在讨论的是一个与Android操作系统相关的APK文件,它被压缩在名为"apk.rar"的RAR格式文件中。APK是Android应用程序的主要文件格式,它包含了应用的所有...

    Browser源码能编译通过的

    7. 部署和运行:对于移动设备,将编译好的APK通过ADB(Android Debug Bridge)推送到设备或模拟器上,然后启动应用。对于桌面版,直接运行生成的可执行文件即可。 在处理“Browserp”这样的文件名时,这可能是项目...

    Android 8.0 系统自带Browser2

    在Android 8.0系统中,内置的Browser2是一个重要的组成部分,它为用户提供了浏览网页的基本功能。这个浏览器是Google为了提升用户体验而精心设计的,特别是在Android 8.0(代号Oreo)这一版本中,它融合了多项技术...

    android_browser.rar_android_android浏览器

    【描述】描述中提到的“android手机调用浏览器的实例程序”是一个示例应用,它演示了如何在 Android 应用中启动并使用内置的 Android 浏览器。开发者可以导入这个项目到 ADT(Android Development Toolkit)中进行...

    browser.apk

    browser.apk

    com.jiaohua_browser.MainApplication.apk

    com.jiaohua_browser.MainApplication.apk

    UCBrowser_V9.1.0.297_Android_pf145_(Build13060714).apk.zip

    总的来说,UCBrowser的APK文件结构揭示了其内部工作原理和资源组织方式,同时展示了Android应用开发的关键元素,包括资源管理、代码执行、元数据配置以及安全性措施。对于开发者而言,深入理解这些组件有助于构建更...

    android4.0 Browser 浏览器 源码

    通过对Android 4.0 Browser的源码进行研究,开发者不仅可以学习到Android系统层面的知识,还能掌握浏览器开发的核心技术,这对于创建自己的Android浏览器或者优化现有应用的网络和渲染性能都极具价值。但需要注意,...

    Android-Browser.rar_android_android browser_browser_browser andr

    Android Browser是Android操作系统内置的网页浏览器,其源代码的分析能为我们揭示许多关于移动设备上网页浏览技术的细节。在Android系统中,Browser组件扮演着核心角色,它负责解析HTML内容,渲染网页,并提供用户...

    pi-browser.apk

    pi-browser.apk

    apk安装包制作方法

    Android 操作系统中,安装包的制作是非常重要的一步骤,安装包的制作可以将 Android 项目编译成可以在 Android 设备上安装和运行的 APK 文件。本文将详细讲解在 Android Eclipse 开发环境下制作 APK 安装包的方法。 ...

    android源码之Browser

    在Android系统中,Browser应用程序是默认的Web浏览器,它允许用户浏览互联网上的网页。深入理解Android源码中的Browser模块对于Android应用开发者来说至关重要,因为这能帮助他们优化网页加载性能,实现自定义功能,...

    Android 4.0 Browser源码

    在这个版本中,内置的Browser应用进行了重大更新,提供了更流畅的浏览体验和增强的安全性。通过分析Android 4.0 Browser的源码,我们可以深入理解其工作原理,从而学习如何优化移动Web应用的性能,了解Android系统对...

    Android打包APK Sqlite一起打包成APK

    在描述中提到的问题就是关于如何将预填充的SQLite数据库一起打包进APK,确保它们在安装后能够被应用正确地读取和使用。以下将详细介绍这个过程,并给出可能的解决方案。 首先,我们需要理解Android应用的构建流程。...

    Microsoft Edge_ Web Browser.apk

    Microsoft Edge_ Web Browser.apk

    Android之APK打包安装过程.zip_android 打包_run

    Android APK的打包与安装是Android应用开发过程中至关重要的步骤,它涉及到多个阶段,从源代码编译到最终在设备上运行。以下将详细介绍这个过程。 首先,我们需要理解APK是什么。APK(Android Package)是Android...

    Android应用源码之Browser.zip

    《深入剖析Android应用源码:Browser.zip》 在Android系统中,Browser应用是预装的浏览器,它提供了用户浏览网页的基本功能。这份Browser.zip包含了Browser应用的源代码,对于开发者来说,是一个宝贵的参考资料,...

    Android Browser 源码

    Android Browser是Android操作系统内置的网页浏览器,其源码对于我们深入理解Android系统的工作原理,特别是Web浏览相关的技术,具有很高的学习价值。在这个主题下,我们将探讨以下几个关键知识点: 1. **WebView...

    Android 自带应用网页浏览器代码Browser

    在Android系统中,内置的网页浏览器“Browser”是Android开发者实现网页浏览功能的重要参考实例。这个应用程序使用了WebView组件,该组件是Android SDK的一部分,允许开发者在应用内嵌入一个可交互的网页视图。本篇...

    Android 5.0 Browser源码

    V8以其快速的编译技术和垃圾回收机制著称,它在Android 5.0中的应用使得JavaScript代码执行更加高效。 **3. Chromium基础** Android 5.0的浏览器很大程度上基于Chromium项目,这是Google维护的一个开源浏览器项目,...

Global site tag (gtag.js) - Google Analytics