2011-01-17 13 views
4

多くのAndroid開発者と同じように、デモとフルバージョンの2つのプログラムが必要です。残念なことに、同じパッケージの名前空間を持つため、両方を同じデバイスにロードすることはできません。ちなみに、アセットはアセットフォルダにあり、resフォルダにはありません。同じコードで異なるパッケージ名に基づいて2つのアプリケーションをリリース

は、私は、コマンドラインを介して第2 APKを作りたいとNetBeans/Eclipse IDEを使用して構築/コンパイルされた最初のAPKからそれを引き出します。

答えはaaptとその--rename-package-manifestオプションと思われましたが、使用方法はわかりません。

私は、次の手順を実行します。

  1. apktool

  2. とNetBeansの

  3. 開梱のAPKが

  4. は、名前を変更し、新たな資産を追加使用して私の完全なAPKを構築しますパッケージaapt

  5. apktoolを使用したデモ版へのリパック。

しかし、私は、ステップ4を得ることができない - AAPTリネームステージが動作するように。私はこれについてウェブ上で非常に多くのスレッドを見てきましたが、明示的な例はありません。

それから、私はそれをテストするための非常に簡単なプログラム、つまりHello Worldを手順hereを使って試しました。

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

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

私が使用するコマンドは次のとおりです。main.xmlAndroidManifest.xmlの形式は両方

 
    aapt package -f -v 
     -M c:\android-sdk-windows\tools\hellow\AndroidManifest.xml 
     -S c:\android-sdk-windows\tools\hellow\res 
     —rename-package-manifest com.myname.demo 

エラーがでます:

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

いずれのアイデアも大歓迎です。

+1

オプションは--rename-manifest-package –

答えて

2

あなたのシナリオを考慮して設計されたAndroidのライブラリプロジェクトを使用してください。 Androidライブラリプロジェクトwith Eclipseまたはwithout Eclipseを使用する手順は次のとおりです。

+0

ありがとうございます。私は一見して、ライブラリのソースコードがメインプログラムとマージできるようにそこにある必要があるようです。 – MacieFranks

+0

この記事では、入手可能なJavaソースコードなしで2つのバージョンを構築する方法の概要を示します。aapt --rename-manifest-packageオプションが必要ですが、http://blog.uncommons.orgを動作させることはできません/ 2010/07/19/building-two-versions-of-the-same-android-app/ – MacieFranks

+0

@MacieFranks: "私は一見して、ライブラリのソースコードがそこになければ、メインプログラム " - いいえ、バイナリのみのライブラリプロジェクトを作成するにはちょっとした手間がかかります。 http://andparcel.com/articles/parcelのバイナリ専用ライブラリプロジェクトのセクションを参照してください。 – CommonsWare

関連する問題