4

さて、状況は次のとおりです。

クライアント用のアプリケーションを開発しています (またはそうしようとしています)。組み込みの SMS/MMS アプリケーションと同じ機能の多く (すべてではないにしても) が必要です。だから、私は思った-ねえ!Android はオープンソースですよね?アプリケーションを取得して、ニーズに合わせて変更できますよね?

そこで、MMS/SMS アプリケーションのコードを github で見つけました (何らかの理由で、AndroidManifest ファイルに基づいて、私が構築したプロジェクトを「ConversationList」と呼んでいます)。しかし、インポート com.google.android.mms.* パッケージと他のいくつかのパッケージに関連する大量のエラーが発生します。

誰もが「これはプライベート/内部パッケージです」、「AOSP 全体をダウンロードしてください」と言い続けています。しかし、Windows でこれを行うにはどうすればよいでしょうか。また、プログラムで使用する適切なパッケージをダウンロードできないのはなぜですか?

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

何かアドバイス?

4

2 に答える 2

5

So, I found the code on github for the MMS/SMS application (for some reason, based on the AndroidManifest file, it calls my project I built, "ConversationList"). But I get TONS of errors involving the import com.google.android.mms.* package and a couple other packages.

AOSP applications like this are designed to be built as part of a firmware image, not as standalone apps.

But, HOW do I do this on Windows

Most likely, you don't. Cygwin might work. More likely, you will need to use OS X or Linux, such as running Linux in VirtualBox. And the result of your build will not run on anything, except as part of a firmware build that you use to replace the firmware on a device.

WHY can't I just download the appropriate packages to use in the program?

Because that application is designed to be built as part of a firmware image, not as a standalone app.

ALL I want to do is build a project in Eclipse deploy it to my phone, and then modify the necessary code.

Then find a project that is designed to be built as a standalone app as your starting point. Or, work on modifying the project you are trying to use to work as a standalone app, by ripping out all the functionality that depends upon things that are not in the app itself.

If Android is open source, why so many secret/internal packages?

They are not "secret". They are part of the firmware.

For example -- since you appear to be familiar with Windows -- it is entirely possible that "apps" like Control Panel are not designed to be built independently from the Windows OS. If you were able to download the source code to Windows and tried to load Control Panel into Visual Studio, it is eminently possible that you could not create some standalone CPANEL.EXE file just via that one project. Rather, you would need to use a customized Windows OS build process to build the whole OS, which would then contain a CPANEL.EXE that would run within that built version of the OS.

Most of the AOSP apps work this way. Some have been forked to create standalone apps -- K-9 Mail came from the early version of the AOSP email app. I have no idea if anyone has done this with the stock AOSP Messaging app or not.

于 2012-05-12T23:59:27.643 に答える
3

TextSecure[0] はシステム アプリケーションではありませんが、ストック メッセージング アプリケーションに非常に似ているため、代わりに fork することができます。AOSP アプリケーションは root を必要とする /system/app にインストールする必要があり、顧客が望んでいるものではない可能性があります。

このアプリケーションはコピーレフト (GPLv3) であるため、フォークする場合は GPL の条項に基づいてクライアントにソース コードへのアクセスを許可する必要があることに注意してください。

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

于 2012-07-07T22:32:40.793 に答える