我想使用Windows命令行安装一个文件。首先,我想在编译完所有.jar文件后为Android应用程序创建一个.apk文件,而不使用Eclipse。
有人知道如何在不使用Eclipse的情况下,仅通过使用命令行就可以做到这一点吗?
我想使用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"
其他回答
您可以通过在关键字'install'之前输入设备/模拟器标识符,然后输入apk的路径,将apk安装到特定的设备/模拟器。注意,'install'关键字后面的-s开关(如果有的话)表示安装到sd卡。例子:
adb -s emulator-5554 install myapp.apk
您可以通过使用adb命令行工具或gradle命令来做到这一点: 请看本指南。
设置命令行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
使用Android调试桥命令行工具adb eg: adb install filename.apk。
这里有一个很好的adb参考资料
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.
您可以使用ant在命令行上进行构建。请看这个指南。
然后,您可以在命令行上使用adb安装它。
adb install -r MyApp.apk
-r标志将替换现有的应用程序。
我在我的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