回答:
変更をAndroidManifest.xml
変更android:testOnly="true"
するandroid:testOnly="false"
か、この属性を削除する必要があるようです。
あなたは属性を維持したい場合android:testOnly
などtrue
に使用できるpm install
とのコマンドを-t
オプション、しかし、あなたがする必要があるかもしれないpush
最初のデバイスにAPK。
$ adb push bin/hello.apk /tmp/
5210 KB/s (825660 bytes in 0.154s)
$ adb shell pm install /tmp/hello.apk
pkg: /tmp/hello.apk
Failure [INSTALL_FAILED_TEST_ONLY]
$ adb shell pm install -t /tmp/hello.apk
pkg: /tmp/hello.apk
Success
同じ問題を再現することができ、上記で解決しました。
APKがデバイスの外側(デスクトップ上)にある場合、以下のコマンドでそれを実行できます。
$ adb install -t hello.apk
adb push bin/hello.apk /tmp/
私にとってはadb push ./debug.apk /sdcard/temp/debug.apk
うまく
adb install -t app/build/outputs/apk/usUnitedStates/debug/app-usUnited-debug.apk
私のために働いた。
-f: Install package on the internal system memory.
私にも同様の問題がAndroid Studio 3.0.0 Beta 7
あり、Playストアに公開できなくなりました。
ここで述べたように:https : //developer.android.com/studio/run/index.html
注:[実行]ボタンは、testOnly = "true"でAPKをビルドします。つまり、APKは、Android Studioが使用するadb経由でのみインストールできます。adbなしでインストールできるデバッグ可能なAPKが必要な場合は、デバッグバリアントを選択し、[ビルド]> [APKのビルド]をクリックします。
同じことがリリースビルドにも当てはまります。ストアに送信できるテスト不可能なリリースAPK Android Studio 3
にアクセスする必要がありBuild > Build APK(s)
ます。
-t
以下のスクリーンショットのように、インストールフラグを追加します。
-t
が起こるか説明してください。
Android Studio 3.0はテスト専用APKを生成します。
「android:testOnly」プロパティをAndroidマニフェストのタグに追加することで問題を解決しました。
<application
.....
android:testOnly="false"
android:theme="@style/AppTheme">
そして、Android studio3.0メニューによってAPKを生成しました:ビルド-> APKをビルドします。
詳細: https : //commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html
この行を 'gradle.properties'に追加します
android.injected.testOnly=false
以前の投稿のどれも私の問題を解決しません。これが私に起こっていることです:
私は通常、[実行]ボタンをクリックして、Android Studioからアプリをロードします。これを行うと、Androidはデバッグには適していますが、インストールには適さないアプリを作成します。次を使用してインストールしようとした場合:
adb install -r yourapk
次のようなメッセージが表示されます。
失敗[INSTALL_FAILED_TEST_ONLY]
これが発生した場合、まずビルドをクリーンアップしてから[ビルド]-> [APKのビルド]を選択してapkを再構築する必要があります。下の画像をご覧ください。
このAPKは、adb installコマンドまたはその他の方法でインストールする準備ができています
お役に立てれば
デビッド
"allowTestPackages": "true"
、e2eスキーマ機能を指定する必要があります。
私の場合、APKをアップロードすることでしたが、これは製品証明書で署名され、リリースバリアントでしたが、Androidスタジオの実行再生ボタンによって生成されました。GradleまたはAPKのビルドメニューオプションからAPKを生成した後に問題が解決しました。
これは私のために働きますadb install -t myapk.apk
誰にとっても便利かどうかはわかりませんが、テストグラドルプラグイン('gradle:2.4.0-alpha5'
)バージョンを使用してプロジェクトを誤ってビルドし、安定したAndroid Studioバージョン(2.3
でなく、2.4 preview 5
バージョンI以前にダウンロードしてインストールしました)。
間違いに気付いたとき、Android Studioのプレビューバージョンを起動し、問題なくプロジェクトをビルドしてインストールしました。
Saurabhの答えが他のほとんどの人に役立つと確信していますが、APKをインストールするために実行する必要がある追加の手順を特定したかったのです。
次の結果でデバイスにプッシュしようとしました:
? adb push AppClient.TestOnly.App3.apk \tmp\
failed to copy 'AppClient.TestOnly.App3.apk' to '\tmp\': Read-only file system
ファイルシステムのRW権限を変更するために周りを見回した後、私は次のコマンドを実行してしまいました。
? adb shell
255|shell@android:/ $ su
shell@android:/ # mount -o remount,rw /
mount -o remount,rw /
私がもう一度プッシュしようとしたときに私はこれを得ました:
? adb push AppClient.TestOnly.App3.apk /tmp
failed to copy 'AppClient.TestOnly.App3.apk' to '/tmp': Permission denied
私はSDカードにプッシュすることができました:
? adb push AppClient.TestOnly.App3.apk /sdcard/
3178 KB/s (99747 bytes in 0.030s)
その時点で、Saurabhのコマンドを実行できました。
shell@android:/ # pm install -t /sdcard/AppClient.TestOnly.App3.apk
pm install -t /sdcard/AppClient.TestOnly.App3.apk
pkg: /sdcard/AppClient.TestOnly.App3.apk
Success
私の発見は以下の通りです。Android Studio UIを使用してコンパイルし、APKを生成した場合、
adb install <xxx.apk>
生成されます Failure [INSTALL_FAILED_TEST_ONLY]
私はgradle ieを使用してコンパイルする必要があります./gradlew app:assembleRelease
。次に、生成されたapkだけをインストールします。
これは、Android Studio UI Compileが特定のデバイスのテストAPKのみを生成するためです。一方、./gradlew app:assembleRelease
コマンドは、すべてのデバイスにインストールされる実際のAPK生成です(そしてPlaystoreにアップロードされます)。
どのような私のために働いたことは実行されてRefresh all Gradle projects
からGradle
右のメニューからツールバー。
Android StudioのスクリーンショットをPFBします。
Gradle
右側のメニューからツールバーを選択します。Refresh
アイコンを選択しますこれで問題は解決しました。
複数のAPKを使用して外部プロジェクトを試しました。
スタジオからのコマンドは次のようになりました
adb install-multiple -r ....
解決 -
-t