2010-08-31 119 views
14

我刚刚将我的第一个应用程序敲在一起,已经发布并签名并转移到我的手机,但无法将其安装到手机上 - 在屏幕上显示'您是否想要安装这个应用程序“并点击安装,我只是收到一条消息,说'应用程序未安装',没有进一步的解释。我使用jarsigner -verify检查了签名。无法在手机上安装.apk

我已将.apk上传到http://ubuntuone.com/p/ESB/,并使用手机上的LogCollector应用程序获取日志。相关摘录如下。

Log Collector version: 1.1.0 
Device model: HTC Desire 
Firmware version: 2.2 
Kernel version: 2.6.32.15-gf9c0527 
[email protected]) 
#1 PREEMPT Fri Jul 23 17:26:53 CST 2010 
Build number: FRF91 

08-31 10:18:21.289 I/ActivityManager( 93): Starting activity: Intent { act=android.intent.action.VIEW dat=file:///sdcard/blanket.apk typ=application/vnd.android.package-archive cmp=com.android.packageinstaller/.PackageInstallerActivity } 
08-31 10:18:21.359 I/PackageParser(20453): uk.co.oketchup.blanketsquare: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE 
08-31 10:18:21.379 D/skia (20453): --- decoder->decode returned false 
08-31 10:18:21.669 I/ActivityManager( 93): Displayed activity com.android.packageinstaller/.PackageInstallerActivity: 331 ms (total 331 ms) 
08-31 10:18:22.059 D/PowerManagerService( 93): New lightsensor value:640, lcdValue:192 
08-31 10:18:22.390 D/SynchronizationService(20285): Checking preferences 
08-31 10:18:22.769 I/ActivityManager( 93): Starting activity: Intent { dat=file:///sdcard/blanket.apk cmp=com.android.packageinstaller/.InstallAppProgress (has extras) } 
08-31 10:18:22.849 D/skia (20453): --- decoder->decode returned false 
08-31 10:18:22.999 D/dalvikvm(20459): GC_EXPLICIT freed 419 objects/23968 bytes in 74ms 
08-31 10:18:23.089 D/PackageParser( 93): Scanning package: /data/app/vmdl73677.tmp 
08-31 10:18:23.099 I/PackageParser( 93): uk.co.oketchup.blanketsquare: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE 
08-31 10:18:23.129 I/ActivityManager( 93): Displayed activity com.android.packageinstaller/.InstallAppProgress: 320 ms (total 320 ms) 
08-31 10:18:23.139 W/PackageParser( 93): Exception reading res/layout/main.xml in /data/app/vmdl73677.tmp 
08-31 10:18:23.139 W/PackageParser( 93): java.io.IOException 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:207) 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.zip.ZipFile$ZipInflaterInputStream.read(ZipFile.java:432) 
08-31 10:18:23.139 W/PackageParser( 93): at java.io.FilterInputStream.read(FilterInputStream.java:130) 
08-31 10:18:23.139 W/PackageParser( 93): at org.apache.harmony.luni.util.InputStreamHelper.readFullyAndClose(InputStreamHelper.java:174) 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.jar.JarFile.getManifest(JarFile.java:307) 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.jar.JarFile.getInputStream(JarFile.java:385) 
08-31 10:18:23.139 W/PackageParser( 93): at android.content.pm.PackageParser.loadCertificates(PackageParser.java:338) 
08-31 10:18:23.139 W/PackageParser( 93): at android.content.pm.PackageParser.collectCertificates(PackageParser.java:509) 
08-31 10:18:23.139 W/PackageParser( 93): at com.android.server.PackageManagerService.installPackageLI(PackageManagerService.java:5961) 
08-31 10:18:23.139 W/PackageParser( 93): at com.android.server.PackageManagerService.access$2100(PackageManagerService.java:138) 
08-31 10:18:23.139 W/PackageParser( 93): at com.android.server.PackageManagerService$5.run(PackageManagerService.java:4819) 
08-31 10:18:23.139 W/PackageParser( 93): at android.os.Handler.handleCallback(Handler.java:587) 
08-31 10:18:23.139 W/PackageParser( 93): at android.os.Handler.dispatchMessage(Handler.java:92) 
08-31 10:18:23.139 W/PackageParser( 93): at android.os.Looper.loop(Looper.java:144) 
08-31 10:18:23.139 W/PackageParser( 93): at android.os.HandlerThread.run(HandlerThread.java:60) 
08-31 10:18:23.139 W/PackageParser( 93): Caused by: java.util.zip.DataFormatException: data error 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.zip.Inflater.inflateImpl(Native Method) 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.zip.Inflater.inflate(Inflater.java:255) 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:188) 
08-31 10:18:23.139 W/PackageParser( 93): ... 14 more 
08-31 10:18:23.149 E/PackageParser( 93): Package uk.co.oketchup.blanketsquare has no certificates at entry res/layout/main.xml; ignoring! 
08-31 10:18:23.269 D/dalvikvm( 93): GC_EXPLICIT freed 5970 objects/337960 bytes in 107ms 
08-31 10:18:24.729 I/InstallAppProgress(20453): Finished installing uk.co.oketchup.blanketsquare 

非常感谢您的帮助。


编辑02/09/2010 我已经删除几乎所有的空格再次修改main.xml中的文件。它仍然没有安装,但不是完全相同的错误:它声称有一个zip文件错误,虽然我注意到证书确实出现在列表的下面。如果这不是我显然做错了,如果我在android开发人员邮件列表中提出,会更好吗?

09-02 17:33:32.819 W/PackageParser( 93): Exception reading /data/app/vmdl73692.tmp 
09-02 17:33:32.819 W/PackageParser( 93): java.io.IOException 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:207) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.zip.ZipFile$ZipInflaterInputStream.read(ZipFile.java:432) 
09-02 17:33:32.819 W/PackageParser( 93): at java.io.FilterInputStream.read(FilterInputStream.java:130) 
09-02 17:33:32.819 W/PackageParser( 93): at org.apache.harmony.luni.util.InputStreamHelper.readFullyAndClose(InputStreamHelper.java:174) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.jar.JarFile.readMetaEntries(JarFile.java:360) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.jar.JarFile.<init>(JarFile.java:237) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.jar.JarFile.<init>(JarFile.java:218) 
09-02 17:33:32.819 W/PackageParser( 93): at android.content.pm.PackageParser.collectCertificates(PackageParser.java:471) 
09-02 17:33:32.819 W/PackageParser( 93): at com.android.server.PackageManagerService.installPackageLI(PackageManagerService.java:5961) 
09-02 17:33:32.819 W/PackageParser( 93): at com.android.server.PackageManagerService.access$2100(PackageManagerService.java:138) 
09-02 17:33:32.819 W/PackageParser( 93): at com.android.server.PackageManagerService$5.run(PackageManagerService.java:4819) 
09-02 17:33:32.819 W/PackageParser( 93): at android.os.Handler.handleCallback(Handler.java:587) 
09-02 17:33:32.819 W/PackageParser( 93): at android.os.Handler.dispatchMessage(Handler.java:92) 
09-02 17:33:32.819 W/PackageParser( 93): at android.os.Looper.loop(Looper.java:144) 
09-02 17:33:32.819 W/PackageParser( 93): at android.os.HandlerThread.run(HandlerThread.java:60) 
09-02 17:33:32.819 W/PackageParser( 93): Caused by: java.util.zip.DataFormatException: data error 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.zip.Inflater.inflateImpl(Native Method) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.zip.Inflater.inflate(Inflater.java:255) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:188) 
09-02 17:33:32.819 W/PackageParser( 93): ... 14 more 

回答

0

有试图签下名为main.xml中的文件

异常读数RES /布局/ main.xml中在/data/app/vmdl73677.tmp

所提出的一些异常

尝试删除或重新创建该文件,然后编译/标志和运行应用程序

http://www.google.com/support/forum/p/Android%20Market/thread?tid=11b65a3c2807848a&hl=en

+0

我对这个文件做了一些小的修改并重新编译/签名,但是我得到了完全相同的错误 我不认为我可以删除该文件,因为它需要布局。 – 2010-08-31 11:23:33

+0

可以尝试保留该文件并检查异常是否在同一文件上抛出 – DeRagan 2010-08-31 11:58:28

+0

我试着将其重命名为main2.xml并将引用更改为setContentView。我现在得到了稍微不同的消息 异常读取/data/app/vmdl73684.tmp中的res/layout/main2.xml java.io.IOException:无效的属性61 at java.util.jar.InitManifest.readName( InitManifest.java:150) at java.util.jar.InitManifest.readHeader(InitManifest.java:115) at java.util.jar.InitManifest.initEntries(InitManifest.java:75) at java.util.jar。 Manifest.read(Manifest.java:234) at java.util.jar.Manifest。 (Manifest.java:116) [etc] – 2010-08-31 12:43:16

2

我已经看到损坏的.apks不会加载到设备上,出现奇怪的IOExceptions。继在Eclipse这些措施似乎阻止我见过的问题:

  1. 请确保项目 - >自动构建被关闭(即未选中)
  2. 项目 - >清除...,选择“清理所有项目”,确保未选中“自动启动构建”复选框,然后单击“确定”。
  3. 使用文件 - >导出 - > Android的 - >导出Android应用程序创建APK
1

这样做的原因是,您的APK未签名。

如果您使用的是Eclipse,您需要在构建时签署应用程序。您可以使用您的密钥对应用程序进行签名(如果有的话),或者您可以使用eclipse提供的调试密钥创建一个apk。

程序:

Rtclick项目>的Android工具>导出签名的应用程序包”>指定密钥存储位置(在您的计算机的主目录调试密钥库的外观,调试密钥的密码是机器人)

+0

问题说:“我使用'jarsigner -verify'检查了签名。”你怎么确定apk没有被签名? – LarsH 2017-08-28 18:12:01