私はいくつかの友人や顧客に配布したいと思うsemi-pushサービス(中央httpサーバからの通知のためのチェックイン)を作りました、従って彼らは簡単にあなたのアプリにプッシュのような通知を多くの面倒なく追加することができます。私のPushNotifyでJARを使用してドロアブルリソースをパッケージ化しますか?
- を - 私はJARをパッケージ化し、私の他のプロジェクトのいくつかでそれを含め、今私は、包装を資源に関連してレンガの壁に当たってることが十分に得ている
このプロジェクトは、私はリソースを持っている:R.drawable.goldstar
- は、私がかつて
R.drawable.goldstar
を参照することにより、アプリケーションで二回、それを描き、そして一度resources.getIdentifier('goldstar', 'drawable', 'com.com.pushnotify')
- を参照することで、私は、自身のAPKとしてPushNotifyをパッケージ化すると、金の星が正しく表示されます両方の場所で。
- 私は右クリックして、プロジェクトをJARファイルとしてエクスポートし、含まれているファイルから "ApplicationManifest.xml"のチェックを外し、 "完了"をクリックします。
- 描画可能なリソースを追加すると、このJARファイルのサイズが増加することを確認できます。
- ビルドパスにPushNotify.jarを含むDependantApp.apkをパッケージ化すると、金星が両方の場所に正しく表示されます。
- PushNotify.apkをアンインストールした場合、金星はDependantApp.apkからJARにパッケージされていないかのように消えます。
getIdentifier('goldstar', 'drawable', 'com.com.pushnotify')
に対して0の値が返されます。
ドロー可能リソースを持つJARを配布して従属アプリケーションに表示させるにはどうすればよいですか?私のJARを含むアプリケーションは、私が配布しているアイコンにアクセスする必要はなく、自分のコードだけがアクセスします。ずっといや-言って、私が見つけ、検索結果での、にもかかわらず
私は新しい画像を追加するときa)は私のJARファイルが大きくなると、b)私はそのJARファイルを用意しましたので、私は、これは何とか可能である確信しています前にアイコンが付いています(AirpushはUrbanAirshipと同じです)。
ありがとうございます!
私は、まさに私が話していることを行うJARファイルを消費しました。私の最後の段落をお読みください。 – linked
@linked:あなたがやっていることは現在サポートされていません。再利用可能なコンポーネントの一部としてリソースを配布するためにサポートされている唯一の手段は、Androidライブラリプロジェクトです。そしてそれらはJARとして直接パッケージ化することはできません。 "現時点では、ソースコードの代わりに直接jarファイルを含むライブラリプロジェクトはまだサポートされていません。" (http://tools.android.com/recent/buildchangesinrevision14)そしてその文書はR15がこれをサポートすると考えられていたが、R16はこれを支持しなかったし、R16もそれを支持しなかったことを示している。 – CommonsWare
@linked:大まかな回避策がありますが、現時点でJARに実際に存在するリソースはありません。ツールチームが計画しているリソースの中に、JARのリソースが含まれているかどうかは明らかではありませんが、私は確かにそれを感じています。 Javaは独自の「リソース」構造をAndroidより長く持ち、JARのものをサポートしていましたが、Rで定数にアクセスすることはありませんでした。同じ名前でも、Androidの「リソース」は古いJavaスタイルの "resources"。 – CommonsWare