Help us understand the problem. What is going on with this article?

【Android】AndroidManifest.xmlの `package=〜 ` で指定するパッケージ名は、最低でも2階層必要

More than 3 years have passed since last update.

基本中の基本のことだが、パッケージの階層を手動でリファクタリングした詰まったのでメモっとく。
環境はAndroid Studio 1.2

以下エラーメッセージ

pkg: /data/local/tmp/package_name
Failure [INSTALL_FAILED_INVALID_APK]

NG例

以下のように、Javaフォルダ以下が1階層の構成だとダメ。

エラーにとなるフォルダ構成

src
├── AndroidManifest.xml
└──  java
    └── example
       └── Hoge.java 

エラーとなるAndroidManifest.xml

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

...

OK例

以下のように、フォルダ階層を一つ以上増やしてやればOK。

修正後のフォルダ構成

src
├── AndroidManifest.xml
└──  java
    └── example
        └── com
            └── Hoge.java 

修正後のAndroidManifest.xml

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

...

package=〜で指定するパッケージは、最低でも2階層必要らしい。
ちなみにAndroid Studioのプロジェクト作成時にパッケージを1階層にしようとすると、

Invalid package name: The package must have at least one '.' separator

という警告が出てそもそもプロジェクトを作成できない。

nbkn
Vineはやっていません
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away