2012-05-12 10 views
4

さて、状況は次のとおりです。組み込みのSMS/MMS Androidアプリケーションのカスタマイズバージョンの開発

私はクライアント用のアプリケーションを開発しています。組み込みのSMS/MMSアプリケーションと同じ機能を多く必要とします(すべてではないにせよ)。だから、私は思った - こんにちは! Androidはオープンソースの権利ですか?私はアプリケーションを取って自分のニーズに合わせて修正することができますか?

MMS/SMSアプリケーション用のgithub上のコードを見つけました。何らかの理由でAndroidManifestファイルに基づいて、自分のプロジェクト「ConversationList」を呼び出します。しかし、import com.google.android.mms。*パッケージとその他のパッケージを含むエラーが発生します。

誰もが "私的な/内部のパッケージ"と "AOSP全体をダウンロード"と言っています。しかし、Windowsでこれを行うにはどうすればいいですか?なぜ、プログラムで使用する適切なパッケージをダウンロードできないのですか?

私がしたいことは、Eclipseでプロジェクトをビルドしてそれを自分の電話機にデプロイしてから、必要なコードを変更することです。 Androidがオープンソースの場合、なぜ秘密の/内部パッケージがたくさんあるのですか?これはイライラしています。

アドバイスはありますか?

答えて

5

だから、私はMMS/SMSのアプリケーションのためのgithubの上のコードを見出した(AndroidManifestファイルに基づいて、いくつかの理由のために、それは私が、「ConversationList」を建て、私のプロジェクトを呼び出します)。しかし、import com.google.android.mms。*パッケージとその他のパッケージを含むエラーが発生します。

このようなAOSPアプリケーションは、スタンドアロンアプリケーションではなく、ファームウェアイメージの一部として構築されるように設計されています。

しかし、私はあなたがいない、Windowsの

ほとんどの場合にこれをどのように行うのですか。 Cygwinが機能するかもしれません。おそらく、VirtualBoxでLinuxを実行するなど、OS XまたはLinuxを使用する必要があります。また、ビルドの結果は、デバイス上のファームウェアを置き換えるために使用するファームウェアビルドの一部を除いて、何も実行されません。

なぜ私はプログラムで使用する適切なパッケージをダウンロードできませんか?

このアプリケーションは、スタンドアロンアプリケーションではなく、ファームウェアイメージの一部として構築されるように設計されているためです。

私がしたいことは、Eclipseでプロジェクトをビルドして自分の電話にデプロイしてから、必要なコードを変更することです。

次に、開始点としてスタンドアロンアプリとしてビルドされるように設計されたプロジェクトを探します。または、スタンドアロンのアプリケーションとして動作させるために使用しようとしているプロジェクトを変更する場合は、アプリケーション自体にないものに依存するすべての機能を取り除いてください。

Androidがオープンソースの場合、秘密/内部パッケージは何故ですか?

「秘密」ではありません。それらはファームウェアの一部です。

たとえば、Windowsに精通しているように見えるので、コントロールパネルなどの「アプリケーション」はWindows OSとは別にビルドされていない可能性があります。ソースコードをWindowsにダウンロードしてVisual Studioにコントロールパネルをロードしようとすると、スタンドアロンのCPANEL.EXEファイルをその1つのプロジェクトだけで作成できない可能性が非常に高いです。むしろ、カスタマイズされたWindows OSビルドプロセスを使用してOS全体を構築する必要があります。これは、構築されたOSバージョン内で実行されるCPANEL.EXEを含みます。

ほとんどのAOSPアプリはこのように動作します。スタンドアロンのアプリケーションを作成するためにフォークされているものもあります.K-9 Mailは、AOSPメールアプリケーションの初期バージョンからのものです。誰もAOSP Messagingアプリケーションを使ってこれをやったのかどうかはわかりません。

+0

内部クラスの反射で、この状況に取り組むことが可能であろうか? – zwebie

+0

@zwebie:私はそれを疑っていますが、私は確かに分かりません。プロジェクトによって異なるかもしれません。 – CommonsWare

3

TextSecure [0]はシステムアプリケーションではないため、フォークすることもできますが、在庫メッセージアプリケーションとよく似ています。 AOSPアプリケーションは、rootを必要とする/ system/appにインストールする必要があり、顧客が望むものではない可能性があります。

このアプリケーションはコピーレフト(GPLv3)なので、GPLの条件に基づいてクライアントがソースコードにアクセスできるようにする必要があります。

[0] https://github.com/WhisperSystems/TextSecure