2011-01-18 25 views
5

Androidで実装されているいくつかのメソッドやクラスは、AndroidパブリックSDKにエクスポートされないことがわかりました。私はアプリケーションをコンパイルしてAndroidツリーの中に配置することで、これらの関数のいくつかを使用するアプリケーションを作成することができました。 これらの関数をソースから再コンパイルしてAndroid SDKにエクスポートすることは可能でしょうか?これはどうすればできますか? Android SDKにカスタムクラスや関数を組み込むことはできますか(もちろん、新しいSDKと新しいファームウェアを作成するとします)? ありがとう!Android SDKの変更と再コンパイル

答えて

1

SDKをダウンロードして変更することは可能です。

公開アプリを公開する場合は、公開されていないAPIを使用しないでください。これは、すべての携帯電話や今後のバージョンのOSで利用できるという保証はありません。

+0

私はコンパイルしているファームウェア用に開発中ですので、これを制御しています。しかし、とにかく、私が知っている限り、SDKのソースはAndroidシステムソースの同じツリーの中にあります。 mm sdkでコンパイルすることは可能です。実際、私はこれを行うことができます。自分のSDKをコンパイルしました。しかし、どうすれば変更できますか?どのクラスがコンパイルされますか?システムをコンパイルするときにコンパイルされるのは同じですか?しかし、ソースファイルが同じ場合、いくつかのAPIがSDKにエクスポートされない可能性はありますか?私はシステムを変更して自分自身をコンパイルすることができますが、代わりにSDKにこれを行う方法はありますか?ありがとう! –

+0

"SDKにエクスポートされていません"という意味がわかりません。あなたは例を挙げることができますか?私は彼らが最も隠れているので、ドキュメントに表示されないようにしていると思いますが、まだそれらにアクセスできます。 –

+0

まあ、これは過去に何度か見たことがあります。今私は2つの例を覚えています:クラスFileUtils、android.os.FileUtilsは、MediaProviderのようなアプリケーションで使用されていますが、ドキュメントを見つけることができず、EclipseのAndroidプロジェクトでそのクラスを使用することもできません。もう一つの例は、SDKにメソッドinstallPackageを使ってパッケージをインストールする可能性を追加できるようにすることです。これは、システムでコンパイルされたPackageManagerアプリケーションで行うことができますが、(ファームウェアを作成している私には当てはまりませんが、セキュリティ上の理由から)デフォルトのSDKでは不可能です。 –

関連する問題