私はXamarinを使用してAndroidアプリケーションを構築しています。AndroidはアプリケーションがターゲットとするAPIをどのように知っていますか?
platformBuildVersionCode="25" platformBuildVersionName="7.1.1"
これがないではありませんしてくださいということ:逆コンパイルAPKはAndroidManifest.xml
のmanifest
タグにこれらの属性を示して、Visual Studioは、あなたは、Androidのための目標と最小SDKレベルを指定することができますが、これは正常に動作するようですマニフェストファイルプロジェクトではなく、マニフェストファイルが最終アプリケーションにバンドルされています。後者にはuses-sdk
という値はありません。
しかし、私はこのバージョンを対象とするために実行時に期待されている機能を得ていないようです。具体的には、アプリが(APIで23 IIRCを導入)実行時のアクセス権を要求したことがない、とあなたはアプリの許可を取り消すしようとすると、このメッセージが表示されます。
このアプリは、Androidの古いバージョンのために設計されました。許可を拒否すると、意図したとおりに機能しなくなる可能性があります。
これは、株式のAndroidを実行していると、SDKのバージョンを検出すると何の問題を持っていてはならないピクセル、などのAPI 23の上に実行しているいくつかのデバイス上で注目されています。
Androidがマニフェスト値を使用していない場合、どのSDKバージョンをターゲットに設定するのですか?アプリケーションが実行時にAPI 23の機能にアクセスできるようにするにはどうすればよいですか?私はこの情報が最小SDKのバージョンとして、APKの署名でエンコードされていると信じて
これらはターゲットと最小SDKを決定するための属性ではありません。 'targetSdk'と' minSdk'属性は何を表していますか? c.f. https://developer.android.com/guide/topics/manifest/uses-sdk-element.html –
おそらく私は明確にすべきです:これは、事前コンパイルAndroidManifestの値ではなく、APKにバンドルされているAndroidManifestの値です。私はマニフェストを期待どおりに動作し、同様の属性を見つけた別のアプリと比較しました。 –
しかし、 'uses-sdk'要素はまだ存在するはずです。理論的には、あなたの投稿で引用した2つの属性と一致する必要があります。しかし、期待した結果が見当たらないので、不一致がある可能性を考慮する必要があります。 –