Android での compileSdkVersion の使用に関する私の理解を確認するために、これを求めています。
Android sdk は、パス (Your sdk root)/Sdk/platforms/android-(sdk version) の下の各バージョンの実装を提供します。したがって、compileSdkVersion を 20 に設定し、Activity を拡張するクラスをコードに追加すると、 apk の構築 apk は、(あなたの SDK ルート)/Sdk/platforms/android-20/andriod.jar から取得した Activity.class 実装を使用してパッケージ化されます。
したがって、Google が android-22/android.jar のアクティビティ実装に「public void f1()」というメソッドを追加し、compileSdkVersion 22 でコードをコンパイルし、コードからメソッド f1() を呼び出しているとします。 Android バージョン 20 のデバイスでアプリを実行するには、.
質問 1 : メソッド f1() が Java レイヤー メソッドであり、C/C++ 実装を呼び出すものではない場合、デバイスで正しく動作しますか?
Android Studio で compileSdkVersion を 23 に設定して View.class ファイルを開くと、インポート リストに項目 'android.widget.ScrollBarDrawable' が表示されました。 android-23/android.jar ウィジェットフォルダー内にクラス「ScrollBarDrawable」を見つけることができませんでした(そして、このようなAndroid SDKには存在しない多くの実装に出くわしました)
質問 2 : apk がパッケージ化されると、apk ビルダーはどこから実装 android.widget.ScrollBarDrawable.class を取得しますか?
私の悪い英語でごめんなさい:(