AAD*_*ing 19 android apk android-studio
根据CommonsWare上的此博客文章,AndroidManifest.xml
文件可以具有android:testOnly
属性。
在我中AndroidManifest.xml
它设置为“ false”
android:testOnly="false"
Run Code Online (Sandbox Code Playgroud)
我正在使用“ Build APK(s)”菜单选项生成apk文件,如下图所示,
当我尝试从命令行adb install -r myapp.apk安装应用程序时,我仍然收到错误消息,
失败[INSTALL_FAILED_TEST_ONLY:installPackageLI]
我还应该做些什么才能使我的应用运行?
Lan*_*ang 58
您也可以使用以下命令:
adb install -r -t myapp.apk
Run Code Online (Sandbox Code Playgroud)
这个对我有用:
PS C:\Users\languoguang> adb -P 12345 install -r D:\GreeneTrans\HelloWorld-signed.apk
adb: failed to install D:\GreeneTrans\HelloWorld-signed.apk: Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]
PS C:\Users\languoguang> adb -P 12345 install -t D:\GreeneTrans\HelloWorld-signed.apk
Success
PS C:\Users\languoguang> adb -P 12345 install -r -t D:\GreeneTrans\HelloWorld-signed.apk
Success
PS C:\Users\languoguang>
Run Code Online (Sandbox Code Playgroud)
Fra*_*con 28
只需使用以下命令:
adb install -t app/build/outputs/apk/debug/app-debug.apk
Run Code Online (Sandbox Code Playgroud)
您不需要使用 -r,-r 表示重新安装现有应用程序,保留其数据。
安装应用程序您可以使用 adb 使用 install 命令在模拟器或连接的设备上安装 APK:
adb 安装 path_to_apk
安装测试 APK 时,您必须在 install 命令中使用 -t 选项。有关详细信息,请参阅 -t。
https://developer.android.com/studio/command-line/adb#move
-t:允许安装测试 APK。当您仅运行或调试您的应用程序或使用 Android Studio Build > Build APK 命令时,Gradle 会生成一个测试 APK。如果 APK 是使用开发者预览版 SDK 构建的(如果 targetSdkVersion 是字母而不是数字),则如果您要安装测试 APK,则必须在安装命令中包含 -t 选项。
https://developer.android.com/studio/command-line/adb#-t-option
或者您可以使用与在 Android Studio 中单击运行相同的命令
adb push {project dir}/app/build/outputs/apk/debug/app-debug.apk /data/local/tmp/{appId}
adb shell pm install -t /data/local/tmp/{appId}
Run Code Online (Sandbox Code Playgroud)
appId 在 app/build.gradle 中定义。
defaultConfig {
applicationId appId
Run Code Online (Sandbox Code Playgroud)
现在应用程序从本地安装在设备上启动第一个活动。
adb shell am start -n "{package name}/{package name}.splash.SplashActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Run Code Online (Sandbox Code Playgroud)
2019-11-13 13:43 Gradle 同步开始
13:44 项目设置开始
13:44 执行任务:[:app:generateDebugSources, :vplus_explore:generateDebugSources, :vplus_uibase:generateDebugSources, :vplus_widget:generateDebugSources, :vplus_runtime:generateDebugSources, :vplus_cards:generateplus_DebugSources, :vplus_explore:generateDebugSources,:vplus_uibase:generateDebugSources, generateDebugSources, :vplus_payment:generateDebugSources, :vplus_common:generateDebugSources, :vplus_account:generateDebugSources, :vplus_commonres:generateDebugSources, :vplus_bootstrap:generateDebugSources, :vplus_logger:generateDebugSources]
13:44 Gradle 同步在 27 秒 126 毫秒内完成
13:44 Gradle 构建在 4 秒 666 毫秒内完成
13:45 * 守护进程没有运行;现在从 tcp:5037 开始
13:45 * 守护进程成功启动
13:45 执行任务:[:app:assembleDebug]
13:46 Gradle 构建在 33 秒 640 毫秒内完成
Mas*_*ari 16
解决方案1
单击包含您的配置的下拉菜单并选择 Edit Configurations…
选择选项卡常规并添加-t
到Install Flags
字段。单击确定。
现在再次启动应用程序,它应该可以工作了。
解决方案2
这意味着,共享应用程序有一些测试包,因此除非已删除这些包并重新编译源代码,否则您将无法安装此 apk。但是 adb 命令提供了一个标志“-t”,您可以使用它来安装带有测试包的应用程序。
$ adb install -r -t YourAndroidApp.apk
2566 KB/s (7266004 bytes in 2.764s)
Success
Run Code Online (Sandbox Code Playgroud)
解决方案3
如果您从存储在不同目录中的其他计算机移动项目,则可能会发生此错误。解决问题:Clean the project
并重新构建它。
解决方案4
转到“ Settings
” ->“ Build, execution, deployment
”并禁用“instant run
热插拔代码...”
解决方案 5
将此行添加到gradle.properties
:
android.injected.testOnly = false
Run Code Online (Sandbox Code Playgroud)
如果您想手动安装 APK 或将其交给某人使用以下 adb 命令进行手动安装,那么您应该只从菜单栏 -> 构建 -> 构建捆绑包/APK 构建 APK。
adb install -r xyz.apk
Run Code Online (Sandbox Code Playgroud)
请勿单击播放按钮,因为它构建的 APK 仅用于测试目的。单击播放按钮会覆盖默认位置中的 APK,然后只需使用以下命令即可手动安装该 APK。
adb install -r -t xyz.apk
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您确实希望能够从Android Studio中生成的APK中删除测试标记,则可以尝试将以下内容添加到gradle.properties文件中:
android.injected.testOnly = false
归档时间: |
|
查看次数: |
11244 次 |
最近记录: |