2

Android LollipopでSDKアドオンを使用して非表示クラスをエクスポートする必要があります。私は隠されていないクラスをエクスポートすることができます。 "通常の方法"をうまく試していないと、私はその問題が@hideタグによるものだと思っていました。だから、私はクラスを隠すことに責任を負う@hideキーワードを取り除く "汚い"方法を試してみることにしました(明らかに標準APIとの互換性が損なわれたとしても)。 @hideキーワードを削除し、Android.mkに#include(BUILD_JAVA_LIBRARY)でクラスを構築した後、JavaライブラリのJarファイルは空です。だから私は2つの質問があります:Android SDKアドオン隠しクラス

  1. DEXファイルにクラスが含まれていてもJarファイルが空であるのはなぜですか?
  2. @hideキーワードを削除せずに同じ結果を得るにはどうすればよいですか?

ありがとうございます。

注:私は、参照/ドキュメントとしてこれらのリソースを使用している:http://elinux.org/images/5/5c/Build_and_Distributing_SDK_Add-Ons.pdf https://newcircle.com/s/post/1571/exploring_sdk_add_ons_for_android_devices_larry_schiefer_video

+0

@hideキーワードが私のやりたいことにどのような役割を果たしているのか分かりません... – salvo

答えて

0

私が自分で解決策を見つけて、それが本当に@hideタグを必要としません。そこで@hideタグを復元しました。 @hideタグは、標準SDKをビルドする場合にのみ意味があります。次に、パッケージの修飾されたクラス名 "+ package_name.class_name"を、 "+ package_name。*"のようなものをアドオンのdefsファイルにエクスポートするように置き換えました。クリーニングと再構築の後、アドオンにはすべてのエクスポートされたクラスがあります。

関連する問題