2013-01-22 377 views
1

我正在開發一個應用程序,我試圖與幾個朋友分享,以便他們可以測試它。我使用這種http://www.androiddevelopment.org/tag/apk/方法創建了一個密鑰。該應用程序安裝在手機上沒有問題,但是當我實際點擊圖標啓動應用程序時,它顯示「未安裝應用程序」。考慮到我在我的應用程序列表中看到它,並且在我的應用程序抽屜中有一個圖標,這是非常奇怪的。發生什麼事?我在頁面底部回答這個問題。這是可以正常工作的新XML文件。應用程序安裝說「應用程序未安裝」

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.test" 
android:versionCode="1" 
android:versionName="1.0" 
android:installLocation="auto"> 

<uses-sdk 
    android:minSdkVersion="10" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity android:name = ".SQLView" android:label ="@string/app_name" 
     android:exported="false"> 
     <intent-filter> 
      <action android:name="com.example.test.SQLVIEW" /> 
      <category android:name="android.intent.category.DEFAULT" />  
     </intent-filter> 
    </activity> 

    <activity android:name = ".Add_Flashcard" android:label ="@string/app_name" 
     android:exported="false"> 
     <intent-filter> 
      <action android:name="com.example.test.ADD_FLASHCARD" /> 
      <category android:name="android.intent.category.DEFAULT" />  
     </intent-filter> 
    </activity> 

    <activity android:name = ".Flashcards_List" android:label ="@string/app_name" 
     android:exported="false"> 
     <intent-filter> 
      <action android:name="com.example.test.FLASHCARDS_LIST" /> 
      <category android:name="android.intent.category.DEFAULT" />  
     </intent-filter> 
    </activity> 

    <activity android:name = ".Edit_Flashcard" android:label ="@string/app_name" 
       android:exported="false"> 
     <intent-filter> 
      <action android:name="com.example.test.EDIT_FLASHCARD" /> 
      <category android:name="android.intent.category.DEFAULT" />  
     </intent-filter> 
    </activity> 

    <activity android:name = ".Decks_List" android:label ="@string/app_name" 
     android:exported="false"> 
     <intent-filter> 
      <action android:name="com.example.test.DECKS_LIST" /> 
      <category android:name="android.intent.category.DEFAULT" />  
     </intent-filter> 
    </activity> 
</application> 

</manifest> 
+1

確保您的活動已正確指定。在上面的清單中,它被列爲'com.example.test.MainActivity',但由於您在頂部編輯了包名,我懷疑它實際上是在一個不同的包中。通常這會導致一個關閉的力量,但它是要檢查的東西。 – iagreen

+0

您是否嘗試與默認密鑰庫共享?您的朋友設備還有設置啓用:「從未知來源安裝」 –

+0

您是否更改了過去的軟件包名稱?您是否曾嘗試從應用程序中完全刪除應用程序? – WarrenFaith

回答

0

我發現了問題所在。當我想直接通過Eclipse導出應用程序(還添加密鑰庫和所有內容)時,我進入了軟件包選項,並通過選項重命名了軟件包。這顯然沒有重新命名所有內容,它也將.R插入到我的所有分類中。另外,當您重命名包時,您的classess中的包導入將保持不變。重命名時,確保所有內容都被正確更改,因爲這顯然是Eclipse中的一個已知錯誤。這反過來導致了奇怪的錯誤,因爲不同的軟件包與內部的軟件包不匹配......超級怪異。