我想使用 Windows 命令行安装文件。首先,我想在编译所有 .jar 文件后进行构建,以便在不使用 Eclipse 的情况下为 Android 应用程序创建一个 .apk 文件。
有谁知道如何在不使用 Eclipse 的情况下仅通过使用命令行来完成此操作。
您可以使用下面的代码从命令行安装应用程序
adb install example.apk
此 apk 安装在当前打开的模拟器的内存中。
adb install -s example.apk
此 apk 安装在当前打开的模拟器的 sd 卡中。
您还可以将 apk 安装到 adb 已连接设备列表中的特定设备。
adb -s emulator-5554 install myapp.apk
另请参阅 adb help 了解其他选项。
使用 Android Debug Bridge 命令行工具 adb
例如:adb install filename.apk
。
adb
的一个很好的参考是 Here
install [options] <PATH> Installs a package (specified by <PATH>) to the system.
Options:
-l: Install the package with forward lock.
-r: Reinstall an exisiting app, keeping its data.
-t: Allow test APKs to be installed.
-i <INSTALLER_PACKAGE_NAME>: Specify the installer package name.
-s: Install package on the shared mass storage (such as sdcard).
-f: Install package on the internal system memory.
-d: Allow version code downgrade.
uninstall [options] <PACKAGE> Removes a package from the system.
Options:
-k: Keep the data and cache directories around after package removal.
您可以通过在关键字“安装”之前输入设备/模拟器标识符,然后输入 apk 的路径,将 apk 安装到特定的设备/模拟器。请注意,'install' 关键字后面的 -s 开关(如果有)表示安装到 sd 卡。例子:
adb -s emulator-5554 install myapp.apk
简单的方法是通过命令
adb install example.apk
如果你想以连接设备为目标,你可以添加参数“-d”
adb install -d example.apk
如果您连接了多个设备/模拟器,您将收到此错误
adb:错误:连接失败:多个设备/模拟器 - 等待设备 - 错误:多个设备/模拟器
为避免您可以通过以下命令列出所有设备
adb devices
你会得到如下结果
C:\Windows\System32>adb devices
List of devices attached
a3b09hh3e device
emulator-5334 device
选择其中一个设备并将参数添加到 adb 命令中,如下所示“-s a3b09hh3e”
adb -s a3b09a6e install example.apk
如果apk的路径很长并且有空格,也可以作为提示,只需将其添加在双引号之间,例如
adb -s a3b09a6e install "c:\my apk location\here 123\example.apk"
安装 APK 文件的命令就像在 Android Studio 中一样,您可以在下面看到。
1)推送您的应用程序:
adb push /pathOfApk/com.my.awesome.apk /data/local/tmp/com.my.awesome
其中 com.my.awesome
是您的包裹。
2)安装:
adb shell pm install -t -r "/data/local/tmp/com.my.awesome"
按 Win+R > cmd 导航到 android-sdk windows 文件夹中的 platform-tools\ 输入 adb 现在按照 Mohit Kanada 编写的步骤操作(确保提及 .apk 文件的完整路径,例如 d:\android-应用程序\test.apk)
在 Android Studio 中打开终端
你可能会看到
C:\Users\nikhil\AppData\Local\Android\Sdk\platform-tools>
复制并粘贴您要安装在平台工具中的上述路径上的 apk。在我的情况下,我将 app-qa-debug.apk 保存在 platform-tools 文件夹中。
安装命令
adb install app-qa-debug.apk
所以在终端你可以看到一些东西
C:\Users\nikhil\AppData\Local\Android\Sdk\platform-tools>adb install app-qa-debug.apk
安装后您会收到以下消息
执行流式传输
安装成功
这太容易了!
例如我的 apk 文件位置是:d:\myapp.apk
运行 cmd 导航到“platform-tools”文件夹(在 sdk 文件夹中) 启动您的模拟器设备(假设它的名称是 5556:MyDevice) 在 cmd 中键入以下代码: adb -s emulator-5556 install d:\myapp.apk
稍等片刻,就完成了!!
要安装调试(测试)apk,请使用 -t
:
运行构建项目
在 app 文件夹中查找最后生成的 apk。
例子:
adb install -t C:\code\BackupRestore\app\build\outputs\apk\debug\app-debug.apk
您可能在这里,因为您也想构建它!
建造
gradlew
(在 Windows gradlew.bat
上)
然后安装
adb install -r exampleApp.apk
(-r
使其替换现有副本,如果安装在模拟器上,请添加 -s
)
奖金
我在我的 ~/.bash_profile
中设置了一个别名
alias bi="gradlew && adb install -r exampleApp.apk"
(构建和安装的缩写)
您可以使用 adb 命令行工具或 gradle 命令执行此操作:See this Guide。
设置命令行 adb
export PATH=/Users/mayurik/Library/Android/sdk/platform-tools/adb:/Users/mayurik/Library/Android/sdk/tool
用于构建和安装的 Gradle 命令。
#Start Build Process
echo "\n\n\nStarting"
./gradlew clean
./gradlew build
./gradlew assembleDebug
#Install APK on device / emulator
echo "installDebug...\n"
./gradlew installDebug
您还可以使用卸载任何以前的版本
`./gradlew uninstallDebug`
您可以在设备/模拟器上启动您的主要活动,如下所示
#Launch Main Activity
adb shell am start -n "com.sample.androidbuildautomationsample/com.sample.androidbuildautomationsample.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
我在我的 Windows 机器上使用这个脚本(将当前文件夹中的所有 apk 安装到所有可用设备)
Write-Host "Listing APKs..."
$List_Apks = New-Object System.Collections.ArrayList
Get-ChildItem -Path .\ -Filter *.apk -File -Name| ForEach-Object {
$apk_filename = [System.IO.Path]::GetFileName($_)
$List_Apks+=$apk_filename
$apk_filename
}
Write-Host "Found apks "$List_Apks.Length
Write-Host ""
$raw_list = adb devices
$array_lines = $raw_list.Split("\n")
Write-Host "Listing devices "
$List_Device_Ids = New-Object System.Collections.ArrayList
1..($array_lines.Length-2) | foreach {
$device_id = $array_lines[$_].Split([char]0x9)[0]
$List_Device_Ids+=$device_id
$device_id
}
Write-Host "Found devices "$List_Device_Ids.Length
0..($List_Device_Ids.Length-1) | foreach {
$device_id = $List_Device_Ids[$_]
0..($List_Apks.Length-1) | foreach {
$apk_file_name = $List_Apks[$_]
Write-Host "Installing " $apk_file_name "->" $device_id
adb -s $device_id install -r $apk_file_name
}
}
Write-Host "Endo"
将此保存为 install-apks.ps1
然后从 powershell :
powershell -executionpolicy bypass -File .\install-apks.ps1
对于想要从 Linux 系统加载 apk 并在其上运行 React 本机应用程序的人。我也给出了 android 应用程序所在的路径。这样需要找apk文件的人可以去查看。
adb -s 434eeads install android/app/build/outputs/apk/debug/app-debug.apk
用于在手机上重新安装 android 应用程序
adb -s 434eeads install -r android/app/build/outputs/apk/debug/app-debug.apk
-s -> 源/序列号
-> 重新安装路径+文件名:android/app/build/outputs/apk/debug/app-debug.apk
它用于反应本机应用程序。
不定期副业成功案例分享
-d
以强制通过 USB 连接进行安装。我有问题,并添加它修复了它。adb -d install myApp-release.apk
adb install -d
不强制使用 USB。来自 adb 的帮助:(-d: allow version code downgrade)
-d
混淆的答案是,@ZachCase 和 @ScottStafford 都是正确的。 ADB 选项和 ADB 命令选项是不同的:adb -d install file.apk
安装到通过 USB 连接的单个 Android 设备 [see] 而adb install -d file.apk
安装可能降级的 APK [see]。adb install -r example.apk
安装/更新应用。-r
将更新已安装的应用程序。