2017-08-25 12 views
-1

私はプロジェクトでパッケージ名のリファクタリングを行っていましたので、私のアプリケーションをインストールすることができなくなりました。私がアンドロイドスタジオの最新バージョンに更新したのと同じ時期に。私はアップグレード前にリファクタリングをしたと思うので、私は、私はちょうど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

マニフェストパッケージ名は、APKで終わるものではありません。 build.gradleファイルの 'applicationId'を見てください。 – laalto

+0

答えとして展開。 – laalto

答えて

2

ソースマニフェストファイルのpackageという名前は、実際にはインストールされているAPKで終わるものではありません。マニフェストマージ処理中、最終パッケージ名は、アプリケーションのbuild.gradleファイルのapplicationIdの値に基づいています。

エラーメッセージには、パッケージ名に少なくとも1つの.が必要です。

INSTALL_PARSE_FAILED_BAD_PACKAGE_NAMEのその他の理由は、PackageParser#validateName() sourceにあります。

関連する問題