4

多くの Android 開発者と同様に、MarketPlace 用に 2 つのプログラム (デモ版と完全版) を用意したいと考えています。どちらも同じコードを使用していますが、異なるアセットを使用しています。残念ながら、パッケージの名前空間が同じであるため、両方を同じデバイスにロードすることはできません。ちなみにアセットはresフォルダではなくassetフォルダにあります。

コマンドラインから 2 番目のapkを作成し、 NetBeans/Eclipse IDE を使用してコンパイル/ビルドされた最初のapkから派生させたいと考えています。

答えはaaptとそのオプションのように見えましたが--rename-package-manifest、使用方法が明らかにわかりません。

次の手順を実行します。

  1. NetBeans を使用して完全な apk をビルドする

  2. apktoolで apk を解凍します

  3. 新しいアセットを追加する

  4. aaptでパッケージの名前を変更します

  5. apktoolを使用してデモ版に再パックします。

ただし、ステップ 4 - aapt rename ステージが機能しません。これについてウェブ上で非常に多くのスレッドを見てきましたが、明確な例はありません。

次に、非常に単純なプログラムをテストしてみました。Hello World を使用して、次の手順を実行します

Hello World は、コマンド ライン オプションを使用して正常に動作し、エミュレーターとデバイスの両方でビルドおよび実行されます。

ただし、aapt --rename-manifest-packageコマンドを使用すると、多くのエラーが発生します。

私が使用するコマンドは次のとおりです。

  aapt パッケージ -f -v
         -M c:\android-sdk-windows\tools\hello\AndroidManifest.xml
         -S c:\android-sdk-windows\tools\hello\res
         —rename-package-manifest com.myname.demo

エラーは、main.xmlと の両方にあり、AndroidManifest.xml次の形式です。

「属性 'layout_width' のリソース識別子が見つかりません」

どんなアイデアでも大歓迎です。

4

1 に答える 1

2

これはシナリオを念頭に置いて設計されているため、Android ライブラリ プロジェクトを使用します。ここでは、Eclipse を使用して、またはEclipseを使用せずにAndroid ライブラリ プロジェクトを使用する手順を示します。

于 2011-01-17T13:38:17.167 に答える