問題タブ [android-api-levels]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
422 参照

android - Android API 10 を使用する意図の問題

新しいアプリを作ろうとしています。私はただ警報を鳴らしているだけで、主に年配の人を助けることを目指しています (彼らはオタクとしてテクノロジーをフォローしておらず、5-6 歳のような古い電話を使用できると思います)。したがって、 Android Devによると API 8 の 0.1% は無視できますが、API 10-15 の ~5% は無視したくありません。

そこで、最小 SDK レベルとして API 10 を使用することにしました。Android Studio 内で API 10 をダウンロードしているときに、画像に示すようにObsolete警告が表示されました。

2

ここでは間違っているので、Android SDK Manager から直接これを行う方がよいかもしれません。それは同じで、SDKプラットフォームがWindowsと互換性がないという追加の警告がありました:

3

私の記憶が正しければ、それは 2015 年末に廃止されたわけではありません。Google は下位互換性を拒否しているため、API レベルについて私を混乱させました。とにかく、ここに私の頭の中の質問の山があります:

  1. これは、Google がその 5% (API 10 ~ 15 のユーザーと開発者) をもう気にしないということですか?
  2. 古い とはどういう意味ですか? Google でサポートされなくなっただけですか?
  3. この API を新しいプロジェクトに使用するのは悪い考えですか? 現在および将来使用すると、どのような問題に直面する可能性がありますか?
  4. レベル 18+ のような新しい API を選択した場合、API が廃止されるまでの 5 年後に何をするつもりですか? 基本的なことと修正を除いて新しい機能を追加しない場合、その時点で API をアップグレードする必要がありますか?
0 投票する
2 に答える
104340 参照

android - API 23 の Android パーミッションの通常のパーミッションと危険なパーミッションのリスト?

API 23 の実行時にアクセス許可を要求するには、どのアクセス許可が必要ですか?

0 投票する
1 に答える
394 参照

android - Android Target API - どのくらい低くできるかをテストする方法は?

私はちょうどアプリケーションをリリースしようとしています (少なくとも友人や家族に)。私のプロジェクトの API レベルは次のとおりです。

人々が努力を始めようとしているとき、私はこの質問をよく耳にします。

どの API レベルをターゲットにする必要がありますか?

私は明らかにそれをはるかに超えています.19を使用minSdkVersionすると、私のターゲットオーディエンスのほとんどで機能します.

私が疑問に思っているのはこれです。私が書いたコードが実際にSDK レベル 19 を必要minSdkVersionとするかどうかはわかりません。

ただし、これをテストする方法がわかりません。Gradle がビルド エラーをスローするまで、単に値を下げてみることはできますか? アプリがビルドされた場合、動作することが保証されていますか? この情報はどこにも見つからないようです。

0 投票する
2 に答える
994 参照

android - ターゲット api23 のため、ストアでアプリを更新できません (ダウングレードはできません)

簡単に言えば:

問題:

  • ターゲット api23 で一度アップロードされたアプリは、下位のターゲット api では更新できません
  • テキスト再配置のバグにより、metaio は api23 を処理できません

これまでのアイデア:

  • 古い libavcodec.so (arm & x86) を新しいバージョンに置き換えますが、コンパイルされたバージョンが見つかりません...

PS: 廃止された SDK を使用するのは間違いであり、将来的には置き換える必要がありますが、プロジェクトで使用される巨大なコンテンツとバックエンド部分があるため、今のところはそれを使用する必要があります。

PPS: 最悪の場合、同じアプリをアップロードしますが、GooglePlay で ID、api22、および AR 機能が異なります...そして 2 つのほぼ同一のアプリがあります... <_<

いつも助けてくれてありがとう!:)

0 投票する
1 に答える
87 参照

android - ボタンをプログラムで追加しても、API レベル 23 では機能しません。ボタンを動的に生成する必要があります。それらを追加するにはどうすればよいですか?

以下は、ボタンを LinearLayout に動的に追加するコードです。

以下は私のビューXMLです:

実行時エラーはありません。アプリは正常に起動します。

問題なく実行されるこのコードをデバッグしましたが、ビューにボタンが表示されません。

0 投票する
1 に答える
89 参照

android - Vector Drawable と Png APK の分割

現在、Android APK を API レベルごとに分割して、19 以下が PNG を取得し、21 以上が新しいベクター ドローアブル XML を取得するようにしています。これは、アプリのフットプリントを削減しようとしているためです。現在、現在のプロジェクト (一種の大きなモノリス) ではまだそれを行っていないため、マルチプロジェクト スキーマを考え出すのに苦労しています。誰かがこれの例を見たり、プロジェクトを正確に分割する方法についてアドバイスを提供したりしましたか? リソースを分割するだけで、両方に同じコードを使用したいと考えています。

0 投票する
3 に答える
2811 参照

android - プラットフォームの下位バージョンでサポートされていない例外を使用する方法

DialogFragmentアプリケーションのログインと指紋認証を処理する があります。このフラグメントは、API 23 専用の 2 つのクラスを使用しKeyGenParameterSpecますKeyPermanentlyInvalidatedException。クラスを初期化する前にビルド バージョンを確認すれば、これらのクラスを使用できるという印象を受けていました (概要はこちら)。

しかし、そうではないようです。API 20 より前のバージョンでこのコードを実行しようとすると、Dalvik VM はクラス全体を拒否し、VerifyError. ただし、コードは API 20 以降で機能します。以前の API レベルでコードを使用できるようにしながら、コードでこれらのメソッドを使用するにはどうすればよいですか?

完全なスタック トレースは次のとおりです。


コードで更新

このlogin()メソッドは、次を開始するための便利なメソッドLoginFragmentです。

関連するコードはLoginFragmentそれ自体にあります。具体的にはcreateKeyPair()およびinitializeCipherメソッド:


アップデート

KeyPermanentlyInvalidatedExceptionさて、エラーの原因は であることがわかりました。catchその例外を処理するブロックをコメントアウトすると、コードはどのデバイスでも正常に実行されます。問題は、API 23 以降のデバイスでその例外を処理できるようにする必要があることです。