3

私のAndroidアプリでlgplライブラリを使用することについていくつか質問があります:

  1. .dexファイルではなく、apkの他の場所にライブラリを配置することは可能ですか?
  2. 同じプロジェクトでサービスを作成した場合、そのサービスは.dexファイル内にありますか?
  3. Androidアプリはapk内の複数の.dexファイルで構成できますか?
  4. インストール中に別のapkを自動的にインストールする方法はありますか(ユーザーに尋ねることなく/最初に検索することなく)?

ありがとう、フロリアン

4

2 に答える 2

1

法的地位(IANAL)に関係なく、技術的にこれを達成できるシナリオは実際にはわかりません。

私が理解しているように、Androidアプリで使用されるJavaライブラリは、dxコンパイラapkbuilderの両方に提供する必要があるため、nixは#1です。dxへの入力には、コンパイルされたaidlソースも含まれるため、#2では「はい」です。次に、Androidアプリにはclasses.dexファイルが1つしかないので、#3が出ていると思います。#4についてはよくわかりません(Matt Wolfeのコメントに基づくと、これもノーです)。それが物事を明確にするのに役立つことを願っています、幸運...

参照: http: //www.alittlemadness.com/2010/06/07/understanding-the-android-build-process/

于 2013-02-07T01:26:23.193 に答える
1

ProguardでLGPLライブラリを隠さない場合、エンドユーザーはapkをjarに変換し、jarを抽出し、LGPLライブラリクラスを置き換え、jarを再パックし、ユーザー生成キーで署名し、jarをapkに変換してから、新しいAndroidデバイスへのapk。 droidtextプロジェクトには、このプロセスの説明ページがあります。しかし、それを行うのは非常に混乱しているので、QuinnBaileyの答えはまだ優れています。

編集:ライセンスの問題によりdroidtextプロジェクトがシャットダウンされたため、参照したwikiページは停止しています。ウィキページのローカルコピーをお持ちの場合は、本当に感謝しています。以下は私が覚えている重要なステップのリストです:

  1. 開発者は、Proguard構成ファイルを編集して、LGPLライブラリパッケージ全体が隠されないようにする必要があります。(プロガードがパッケージ全体を難読化するのを防ぐ方法は?

  2. ユーザーは、apktooldex2jarなどのツールを使用して、apkとそのコンテンツを解凍、変更、および再パックできます。

于 2013-09-15T13:56:39.257 に答える