我想使用Windows命令行安装一个文件。首先,我想在编译完所有.jar文件后为Android应用程序创建一个.apk文件,而不使用Eclipse。

有人知道如何在不使用Eclipse的情况下,仅通过使用命令行就可以做到这一点吗?


当前回答

最简单的方法就是通过命令

adb install example.apk

如果你想要目标连接设备你可以添加参数" -d "

adb install -d example.apk

如果你连接了多个设备/模拟器,你会得到这个错误

Adb:错误:连接失败:超过一个设备/模拟器 - waiting for device -错误:超过一个设备/模拟器

为了避免这种情况,您可以通过下面的命令列出所有设备

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"

其他回答

我在我的windows机器上使用这个脚本(将当前文件夹中的所有apks安装到所有可用设备)

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

最简单的方法就是通过命令

adb install example.apk

如果你想要目标连接设备你可以添加参数" -d "

adb install -d example.apk

如果你连接了多个设备/模拟器,你会得到这个错误

Adb:错误:连接失败:超过一个设备/模拟器 - waiting for device -错误:超过一个设备/模拟器

为了避免这种情况,您可以通过下面的命令列出所有设备

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"

在Android Studio中打开终端

你可能会看到

C:\Users\nikhil\AppData\Local\Android\Sdk\platform-tools>

复制并粘贴你想要安装的apk到platform-tools的上面路径。 在我的例子中,我把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

在安装之后,您可以得到这样的消息

执行流

安装成功

您可以使用ant在命令行上进行构建。请看这个指南。

然后,您可以在命令行上使用adb安装它。

adb install -r MyApp.apk

-r标志将替换现有的应用程序。

您可以使用下面的代码从命令行安装应用程序

adb install example.apk

这个apk安装在当前打开的模拟器的内存中。

adb install -s example.apk

这个apk安装在当前打开的模拟器的sd卡中。

您还可以将apk安装到adb连接设备列表中的特定设备。

adb -s emulator-5554 install myapp.apk

有关其他选项,请参阅adb帮助。