2017-08-25 160 views
-1

因此,我正在對項目中的包名進行一些重構,現在我無法再安裝我的應用了。大約在我更新到最新版本的android studio的同時。我認爲,可能是問題,因爲我覺得我沒升級前的重構,我只是不記得了100%安裝失敗,顯示消息「INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME」

這裏是我的清單

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.dodgingfire" > 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/dodging_fire_icon" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".gamemain.GameMainActivity" 
     android:label="@string/app_name" 
     android:screenOrientation="sensorLandscape"> 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

</manifest> 

這是我有我的包組織

http://prntscr.com/gcrw99

這是完全錯誤消息當我嘗試運行我的應用程序

Installation failed with message Failed to finalize session : INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME: Invalid manifest package: must have at least one '.' separator. 
It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing. 

WARNING: Uninstalling will remove the application data! 

Do you want to uninstall the existing application? 

即使我接受刪除現有的應用程序,它仍然給我一個錯誤,並沒有安裝我的應用程序,更不用說運行它了。

+0

Manifest軟件包名稱不是APK中的結果。查看build.gradle文件中的'applicationId'。 – laalto

+0

擴展爲答案。 – laalto

回答

2

源文件清單文件中的package名稱實際上並不是最終安裝的APK中的名稱。在清單合併過程中,最終的軟件包名稱基於您應用的build.gradle文件中的applicationId值。

正如錯誤消息所述,您至少需要包名稱中的一個.

INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME的其他原因可以在PackageParser#validateName() source中找到。