大家好。這是我在StackOverflow上的第一篇文章,雖然我一直在使用這個網站幾年。通常我可以通過參考其他人提出的問題找到我可能有任何疑問的答案;然而,在這種情況下,我完全難住,儘管已經做了相當多的功課已經應用程序包安裝程序在安裝時意外停止
我目前正在開發一個Android應用程序的過程中需要與一個硬件 - 更具體地說是一個PIC32板 - 顯示電路板實時返回的數據。
目前我只是簡單地使用Eclipse和Android仿真器來設計接口和編程應用程序的後端。而且,現在我已經進入了一個階段,我想測試應用程序在物理Android設備上的運行。然而,每當我嘗試安裝應用程序,直接從手機(我通過Dropbox發送.apk),我總是得到錯誤'應用程序包安裝程序(進程com.android.packageinstaller)意外停止。請再試一次'。現在,我已經完成了我的功課,似乎已經確定錯誤可能出在應用程序的Android Manifest文件中。但是,我不明白這個問題可能在哪裏。我看到通過刪除特定標籤或複製標籤解決了其他問題;然而,即使這樣我的應用程序也不想安裝在我的設備上,儘管它在每次運行模擬器時都會安裝並運行得非常好。
我正在開發的應用程序基於硬件製造商提供的Demo代碼。它已被適當修改。而且,當我適當修改我的應用程序的清單文件並使用演示應用程序進行測試時,一切似乎都能在物理設備上正常工作。所以,有人告訴我,Manifest文件實際上可能不是問題。我的應用程序和演示應用程序之間的主要區別在於,我已將代碼分成適當的包,其中一個包含應用程序代碼(活動),另一個包含用於與PIC32板通信的代碼。我還添加了一個活動 - 演示代碼只有一個,但目前有兩個。最後的區別是,我定義了一個全局對象,用於與董事會進行通信,可供所有應用程序的活動使用。但是,我不認爲這會成爲這個問題的原因。
所以再次,應用程序似乎在模擬器上工作正常,但它根本不想安裝在物理Android設備上 - 每次嘗試安裝時,都會顯示一條警告對話框,顯示此消息。
我非常感謝任何人可以提供的任何幫助和建議,並提前致謝。
而且,這裏是我開發的應用程序的清單文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.tribosonics.android.TribosonicsApp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" >
</uses-sdk>
<uses-sdk android:targetSdkVersion="10" >
</uses-sdk>
<!--
<permissions>
<feature name="android.hardware.usb.accessory" />
<library
name="com.android.future.usb.accessory"
file="/system/framework/com.android.future.usb.accessory.jar" />
</permissions>
-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:name=".GlobalAccessoryManager"
android:debuggable="true"
android:icon="@drawable/tribosonics_icon"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
android:resource="@xml/accessory_filter" />
<activity
android:name=".TribosonicsApp"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SetScanPreferences"
android:screenOrientation="portrait" >
</activity>
<uses-library android:name="com.android.future.usb.accessory" />
</application>
</manifest>
「(我通過Dropbox發送.apk」這到底意味着什麼?我通常會讓Eclipse系統將應用程序發送到手機,您確定這是有效的,您是否也在失敗期間獲得任何logcat輸出安裝過程? – StevieB 2012-04-02 11:41:47
我將應用程序.apk文件放在Dropbox上,然後通過我的Android設備下載它,它只是一個傳輸安裝文件的簡單快捷方式。 – Daimes 2012-04-02 11:54:00
另一個想法是,您有意圖過濾usb作爲應用程序的孩子附加,我會認爲應該在activity元素中 – StevieB 2012-04-02 11:55:40