1

将我的主机升级到 Ubuntu 12 并成功重建 android 后,在设备上安装后,系统启动循环进入此错误:

I/Zygote  (  147): Preloading classes...
D/dalvikvm(  147): GC_EXPLICIT freed 47K, 78% free 232K/1024K, external 0K/0K, paused 3ms
D/dalvikvm(  147): GC_EXPLICIT freed 1K, 73% free 282K/1024K, external 0K/0K, paused 3ms
D/dalvikvm(  147): GC_EXPLICIT freed 20K, 70% free 315K/1024K, external 0K/0K, paused 3ms
D/dalvikvm(  147): GC_EXPLICIT freed 17K, 66% free 353K/1024K, external 0K/0K, paused 3ms
D/dalvikvm(  147): GC_EXPLICIT freed 26K, 63% free 381K/1024K, external 0K/0K, paused 4ms
D/dalvikvm(  147): GC_EXPLICIT freed 22K, 58% free 440K/1024K, external 0K/0K, paused 4ms
W/MediaProfiles(  147): could not find media config xml file
D/dalvikvm(  147): GC_EXPLICIT freed 99K, 47% free 545K/1024K, external 0K/0K, paused 5ms
W/dalvikvm(  147): Exception Ljava/lang/
NullPointerException; thrown while initializing Landroid/net/http/HttpsConnection;
E/Zygote  (  147): Error preloading android.net.http.HttpsConnection.
E/Zygote  (  147): java.lang.ExceptionInInitializerError
E/Zygote  (  147):     at java.lang.Class.classForName(Native Method)
E/Zygote  (  147):     at java.lang.Class.forName(Class.java:234)
E/Zygote  (  147):     at java.lang.Class.forName(Class.java:181)
E/Zygote  (  147):     at com.android.internal.os.ZygoteInit.preloadClasses(ZygoteInit.java:297)
E/Zygote  (  147):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:564)
E/Zygote  (  147):     at dalvik.system.NativeStart.main(Native Method)
E/Zygote  (  147): Caused by: java.lang.NullPointerException: algorithm is null
E/Zygote  (  147):     at javax.net.ssl.KeyManagerFactory.getInstance(KeyManagerFactory.java:77)
E/Zygote  (  147):     at org.apache.harmony.xnet.provider.jsse.SSLParametersImpl.createDefaultKeyManager(SSLParametersImpl.java:387)
E/Zygote  (  147):     at org.apache.harmony.xnet.provider.jsse.SSLParametersImpl.getDefaultKeyManager(SSLParametersImpl.java:380)
E/Zygote  (  147):     at org.apache.harmony.xnet.provider.jsse.SSLParametersImpl.<init>(SSLParametersImpl.java:120)
E/Zygote  (  147):     at org.apache.harmony.xnet.provider.jsse.SSLContextImpl.engineInit(SSLContextImpl.java:97)
E/Zygote  (  147):     at android.net.http.HttpsConnection.initializeEngine(HttpsConnection.java:101)
E/Zygote  (  147):     at android.net.http.HttpsConnection.<clinit>(HttpsConnection.java:65)
E/Zygote  (  147):     ... 6 more
E/Zygote  (  147): setreuid() failed. errno: 17
D/AndroidRuntime(  147): Shutting down VM

在我的 Ubuntu 11.10(64 位)主机中构建时,相同的源代码运行良好。我做了这样的迁移:

1) 从 11.10 主机完整备份 aosp 源目录

2) 安装新的 Ubuntu 12.04 主机

3)安装AOSP必备包

4)安装Oracle jdk 6

5) 恢复 aosp 源目录(从 1 开始)

“javax.net.ssl.KeyManagerFactory”中的失败表明一些与 SSL 相关的问题,但我想知道我可能会丢失什么,......

PS - 有关设备和移植项目的更多信息,有一个小组讨论它。

4

1 回答 1

1

经过几次不同的试验,看起来我设法解决了这个问题。

这完全取决于用于构建 AOSP 的 Java 开发工具包。我最初安装了 Oracle JDK(如 android 教程页面所建议的那样:http: //source.android.com/source/initializing.html),但后来我尝试了安装了 Open-JDK:

sudo apt-get install openjdk-6-jdk

如果您同时安装了 Open-JDK 和 Oracle-JDK,则可以选择使用哪一个来执行:

sudo update-alternatives --config java sudo update-alternatives --config javac sudo update-alternatives --config jar sudo update-alternatives --config javah sudo update-alternatives --config javadoc

并为其中的每一个选择 Open-JDK 版本。

使用 Oracle JDK 构建的 AOSP 无法启动,而使用 Open-JDK 构建的 AOSP 可以正常启动。

希望它可以帮助其他人解决类似的问题。

于 2012-06-15T15:59:32.913 回答