4

私はすでに読んだ
-> Android プロジェクトの作成 ( http://developer.android.com/training/basics/firstapp/creating-project.html )
-> Unique Package Names ( http://docs.oracle.com/javase /specs/jls/se7/html/jls-6.html#d5e6484 )

私は「280w.info」というドメイン名を持っています。Androidプログラミングを始めたところです。

  1. パッケージ名は「info._280w.(プロジェクト)」だと思います。というわけで、「info._280w.Utest」を作成しました。
  2. Android アプリケーションとして [Debug Test] をクリックします。ランチ Android エミュレーター。
  3. エラーのあるコンソール[2013-04-16 21:52:26 - Utest] Installation failed due to invalid APK file!
  4. logcatを確認しました。とエラーが見つかりました。 04-16 12:52:37.273: E/PackageParser(505): parsePackageLite error: <manifest> specifies bad package name "info._280w.utest": bad character '_'
  5. 次に、PackageParser.java ( /platform/frameworks/base/+/master/core/java/android/content/pm/PackageParser.java ) を表示します。
  6. 検証コードを見つけました。if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {767行目。

このコードは Java の Unique Package Names ルールに違反していますか? または、パッケージの命名が間違っていると思いますか?

4

2 に答える 2

3

簡単な回答: Android で認識される任意のパッケージ名を使用してください。

Androidの基本を参照してください。

通常は、組織または発行元エンティティの逆引きドメイン名で始まる名前を使用するのが最適です。

およびJavaのドキュメント、

場合によっては、インターネット ドメイン名が有効なパッケージ名ではないことがあります。これらの状況に対処するための推奨規則を次に示します: ( http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html )

これらは単なる提案であり、厳密な規則や仕様ではありません。

実際、 Play ストアでリリースされている逆引きドメイン名で始まらないパッケージ名を持つアプリがたくさんあります。ドメイン部分のチェックはありません。Android と Google Play ストアはパッケージ名全体のみをチェックするため、名前空間が競合することはほとんどありません。

于 2013-04-16T14:01:33.837 に答える
1

問題はアンダースコアだと思いますが、代わりに info.280w.projectname を試すことができるかどうかわかりません。

于 2013-04-16T13:32:31.730 に答える