Android Studioを使用してアプリを開発しています。
HTC One M8をLollipopにアップグレードしたため、Android Studioで[アプリを実行]でアプリをテストすることはできません。このエラーが発生し、携帯電話で何も起こりません。
Launching application: com.project.GalleryActivity.
DEVICE Shell COMMAND: am start -n "com.project.GalleryActivity" -a Android.intent.action.MAIN -c Android.intent.category.LAUNCHER
Java.lang.UnsatisfiedLinkError: No implementation found for Java.lang.String Android.os.SystemProperties.native_get(Java.lang.String) (tried Java_Android_os_SystemProperties_native_1get and Java_Android_os_SystemProperties_native_1get__Ljava_lang_String_2)
at Android.os.SystemProperties.native_get(Native Method)
at Android.os.SystemProperties.get(SystemProperties.Java)
at com.htc.customization.HtcCustomizationManager.<init>(HtcCustomizationManager.Java)
at com.htc.customization.HtcCustomizationManager.<clinit>(HtcCustomizationManager.Java)
at Android.os.Environment$UserEnvironment.getCustomizationReader(Environment.Java)
at Android.os.Environment$UserEnvironment.isDynamicSwitchSupported(Environment.Java)
at Android.os.Environment$UserEnvironment.<init>(Environment.Java)
at Android.os.Environment.initForCurrentUser(Environment.Java)
at Android.os.Environment.<clinit>(Environment.Java)
at Android.os.Environment.getLegacyExternalStorageDirectory(Environment.Java)
at Android.os.Debug.<clinit>(Debug.Java)
at Android.ddm.DdmHandleHello.handleHELO(DdmHandleHello.Java)
at Android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.Java)
at org.Apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.Java)
Java.lang.UnsatisfiedLinkError: Android.os.Debug
at Android.ddm.DdmHandleHello.handleFEAT(DdmHandleHello.Java)
at Android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.Java)
at org.Apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.Java)
Java.lang.UnsatisfiedLinkError: Android.os.Debug
at Android.ddm.DdmHandleProfiling.handleMPRQ(DdmHandleProfiling.Java)
at Android.ddm.DdmHandleProfiling.handleChunk(DdmHandleProfiling.Java)
at org.Apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.Java)
Aborted
私のプロジェクトの設定は次のとおりです。
この手法は、アップグレード前は完全に機能していたため、それ以降何も変更していません。
Asus Zenfone 5(ASUS_T00J)でAndroid 5.0と同じエラーに直面していました。私にとっての解決策は、[開発者オプション]で[USB経由でアプリを確認]をオフにすることでした。 Google Nowランチャーでも成功しなかったので問題になりませんでした。Nexus5では、Android 5.1
回避策:Android StudioでADB統合を無効にします。
[ツール]> Android> [ADB統合を有効にする]をオフにします
根本的な原因がわからないが、M8でコードを実行する前に、携帯電話で実行中のアプリをすべて終了することで、この問題を回避できることがわかった。
デバイスでサードパーティのランチャーを使用していますか? Aviateランチャーを使用する場合も同じ問題があります。 [パーソナライズ]-> [メイン画面]の設定でBlinkFeedに戻り、デバイスへの展開が安定しました。クラスパスcom.htc.customization.HtcCustomizationManager
は、ランチャーに関連するこの問題よりも重要です。
ASUS ME176C(Lollipop 5.0)で同じ問題に遭遇しましたが、
しかし、私は「デバッグアプリの選択」を「いいえ」に設定で解決しました。次に、通常どおりapkをプッシュします。その後、「デバッグアプリ」を再選択して、ターゲットアプリを選択できます。
Asus ZenPad 5.0.2では、Asusの自動起動マネージャー([設定]-> [電源管理]-> [自動起動マネージャー])に移動し、アプリを自動起動することで問題を解決できました。
コメントの担当者はいませんが、@ user47625と同じ状況でしたが、「USB経由のアプリの検証」は既にオフになっています。この答えを少し推論して拡大しようとしました。
最初はランチャーを変更しようとしましたが、幸運にも恵まれましたが、適切な解決策ではなく、失敗しました。電話を再起動すると、数時間の穏やかな仕事が与えられました。
その後、私はグーグルで次のような人を見つけました:
そのバグの場合:DDMSクライアントは、PMプロセスが最初に自身を登録し、それがすべてのネイティブコードを完全に初期化する前に、 "Hello"で接続します。 stock Androidそしてそこにも発生します
そのため、このレースが発生する場合は毎回発生するわけではありませんが、Android上でのアイテムの相互作用に関する何かが疑われる場合があります。 CPUかどうかはわかりませんが、RAMまたはアプリ関連ですが、Zenfone 2ではすべてのバックグラウンドアプリ(1)を閉じてメモリを解放(2)することで問題を解決できます。アプリを適切にデバッグします。
私はClean Masterを使用しました。Zenfone2には在庫がありますが、すべてのメモリマネージャーがそれを行うことができると思います。試してみる
HTC M8では、「設定->開発者オプション-> NuPlayerの使用(実験)」を無効にして問題を解決しました
私が気づいたのは、数年前に作成したアプリケーションを実行しようとすると、NuPlayerを無効にする必要があるということです。ただし、新しいアプリケーションでは、オプションをオンにしておく必要があります。
お役に立てれば....
この問題を解決するための「回避策」を発見しました
HTC Blink Home Launcherを見つけて、アップデートをアンインストールします
(注意:ランチャーアップデートをアンインストールすると、ランチャーに配置されているすべてのアイコンとウィジェットが削除されます)
これは私にとっては有効であり、マルチタスクでアプリを削除せずにデバッグに使用できます。これはHTCが原因のバグでしょうか? (HTC Butterfly 2を使用しています&Android 5.0.2)
以下の回避策でかなりの成功を収めました。
アプリでの各デバッグセッションの後、Android Studioターミナル:
> adb Shell am force-stop com.your.app.package
ときどきJava.lang.UnsatisfiedLinkError
ただし、build/Push apk/installプロセスとデバッグセッションの試行の間ではなく、上記のコマンドのみを実行します。
私にとって、これはエラーを取得するためだけに構築する無駄な時間を大幅に節約します。上記のコマンドが機能しない場合は、up-arrow
そして、エラーなしで機能するまでコマンドを再実行します。