2016-07-26 23:27:25 u011068702 阅读数 1422
  • Qt内置按钮控件

    Linux环境图形用户界面应用程序开发,面向对象程序设计,Linux/Windows多平台图形应用开发,嵌入式设备图形界面开发。

    2879课时 0分钟 222人学习 沈寒
    免费试看

adb shell am instrument [options] <COMPONENT>

作用:启动对instrument实例的监视。

参数[options]:

-e <key> <value> // -e选项需要放在-w选项之前

作用:提供了以键值对形式存在的测试选项。Android中提供了多种键值对,具体参见下表。
举例:-e class com.android.phone.FIncomingCallTests#testRejectCall

-r

作用:以原始形式输出测试结果。该选项通常是在性能测试时与-e perf true一起使用。

参数 <COMPONENT>:

-w <test_package_name>/<runner_class> //<test_package_name>和<runner_class>在测试工程的AndroidManifest.xml中查找

作用:保持adb shell打开直至测试完成
举例:-w com.android.phone.tests/com.android.phone.runners.FunctionalTestRunner

<key> <value>参考表

Key Value Description
package <Java_package_name> The fully-qualified Java package name for one of the packages in the test application. Any test case class that uses this package name is executed. Notice that this is not anAndroid package name; a test package has a single Android package name but may have several Java packages within it.
class <class_name> The fully-qualified Java class name for one of the test case classes. Only this test case class is executed.
<class_name>#method name A fully-qualified test case class name, and one of its methods. Only this method is executed. Note the hash mark (#) between the class name and the method name.
func true Runs all test classes that extend InstrumentationTestCase.
unit true Runs all test classes that do not extend eitherInstrumentationTestCaseorPerformanceTestCase.
size [small | medium | large] Runs a test method annotated by size. The annotations are@SmallTest,@MediumTest, and @LargeTest.
perf true Runs all test classes that implement PerformanceTestCase. When you use this option, also specify the-r flag for am instrument, so that the output is kept in raw format and not re-formatted as test results.
debug true Runs tests in debug mode.
log true Loads and logs all specified tests, but does not run them. The test information appears inSTDOUT. Use this to verify combinations of other filters and test specifications.
emma true Runs an EMMA code coverage analysis and writes the output to/data//coverage.ec on the device. To override the file location, use thecoverageFile key that is described in the following entry.

Note: This option requires an EMMA-instrumented build of the test application, which you can generate with thecoverage target.

coverageFile <filename>

Overrides the default location of the EMMA coverage file on the device. Specify this value as a path and filename in UNIX format. The default filename is described in the entry for theemma key

 

adb shell am start [options] <INTENT>

作用:启动一个activity

举例:adb shell am start -a com.lt.test.action.SECOND

举例:adb shell am start -n com.lt.test/.MyActivity

说明:[options]与<INTENT>参见 http://developer.android.com/tools/help/adb.html#am

adb shell am startservice [options] <INTENT>

作用:启动一个service

举例:adb shell am startservice -a com.lt.test.action.ONESERVICE
举例:adb shell am startservice -n com.lt.test/.MyService

 

adb shell am force-stop <PACKAGE>
作用:强制关闭一个应用程序

举例:adb shell am force-stop com.lt.test

 

adb shell am broadcast [options] <INTENT>

作用:发送一个广播
举例:adb shell am broadcast -a "action_finish" (发送一个广播去关闭一个activity)
举例:adb shell am broadcast -a android.intent.action.MASTER_CLEAR(恢复出厂设置的方法,会清除内存所有内容)

举例:adb shell am broadcast -n com.lt.test/.MyBroadcast

 

adb shell pm list packages [options] <INTENT>

作用:列举出所有包含<INTENT>的package

举例:adb shell pm list packages com.lt

说明:[options]与<INTENT>参见 http://developer.android.com/tools/help/adb.html#pm


adb shell中的am pm命令,一些自己的见解和大多数官网的翻译。

先说下am命令,am全称activity manager,你能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等。当你在adb shell命令下执行am命令:

am <command>
你也可以在adb shell前执行am命令:
adb shell am start -a android.intent.action.VIEW
关于一些am命令的介绍:
start [options] <INTENT> :启动activity通过指定的intent参数。具体intent参数参照官方表。

startservice [options] <INTENT> : 启动service通过指定的intent参数。具体intent跟start命令参数相同。

force-stop <PACKAGE> : 强制停止指定的package包应用。

kill [options] <PACKAGE> :杀死指定package包应用进程,该命令在安全模式下杀死进程,不影响用户体验。参数选项:--user <USER_ID> | all | current: 指定user进程杀死,如果不指定默认为所有users。(关于USER_ID下面会介绍到)

kill-all :杀死所有的后台进程。

broadcast [options] <INTENT> :发送一个intent。具体intent参数参照start命令参数。参数选项:--user <USER_ID> | all | current: 指定user进程杀死,如果不指定默认为所有users。

instrument [options] <COMPONENT> :测试命令,不多作介绍。

profile start <PROCESS> <FILE> :在<PROCESS>进程中运行profile,分析结果写到<FILE>里。

profile stop <PROCESS> :停止profile。

set-debug-app [options] <PACKAGE> :设置package包应用为debug模式。参数选项:-w|--persistent:等待进入调试模式,保留值。

clear-debug-app :清空之前用set-debug-app命令设置的package包应用。

以下命令查看官网:
monitor [options]
screen-compat [on|off] <PACKAGE>
display-size [reset|<WxH>]
display-density <dpi>
to-uri <INTENT>
to-intent-uri <INTENT>

接下来介绍pm命令,pm全称package manager,你能使用pm命令去模拟android行为或者查询设备上的应用等,当你在adb shell命令下执行pm命令:

pm <command>
你也可以在adb shell前执行pm命令:
adb shell pm uninstall com.example.MyApp
关于一些pm命令的介绍:
list packages [options] <FILTER> :打印所有包,选择性的查询包列表。参数选项:-f:查看关联文件,即应用apk的位置跟对应的包名(如:package:/system/app /MusicPlayer.apk=com.sec.android.app.music);-d:查看disabled packages;-e:查看enable package;-s:查看系统package;-3:查看第三方package;-i:查看package的对应安装者(如:1、 package:com.tencent.qqmusic installer=null 2、package:com.tencent.qqpim installer=com.android.vending);-u:查看曾被卸载过的package。(卸载后又重新安装依然会被列 入);--user<USER_ID>:The user space to query。

list permission-groups :打印所有已知的权限群组。

list permissions [options] <GROUP> :选择性的打印权限。参数选项:

 

list features :设备特性。硬件之类的性能。

list libraries :当前设备支持的libs。

list users :系统上所有的users。(上面提到的USER_ID查询方式,如:UserInfo{0:Primary:3}那么USER_ID为0)

path <PACKAGE> :查询package的安装位置。

install [options] <PATH> :安装命令。

uninstall [options] <PACKAGE> :卸载命令。

clear <PACKAGE> :对指定的package删除所有数据。

enable <PACKAGE_OR_COMPONENT> :使package或component可用。(如:pm enable "package/class")

disable <PACKAGE_OR_COMPONENT> :使package或component不可用。(如:pm disable "package/class")

disable-user [options] <PACKAGE_OR_COMPONENT> :参数选项:--user <USER_ID>: The user to disable.
grant <PACKAGE_PERMISSION> :授权给应用。

revoke <PACKAGE_PERMISSION> :撤销权限。

set-install-location <LOCATION> :设置默认的安装位置。其中0:让系统自动选择最佳的安装位置。1:安装到内部的设备存储空间。2:安装到外部的设备存储空间。(这只用于调试应用程序, 使用该命令可能导致应用程序退出或者其他不适的后果)。

get-install-location :返回当前的安装位置。返回结果同上参数选项。

set-permission-enforced <PERMISSION> [true|false] :使指定权限生效或者失效。

create-user <USER_NAME> :增加一个新的USER。

remove-user <USER_ID> :删除一个USER。

get-max-users :该设备所支持的最大USER数。(某些设备不支持该命令)


2018-12-24 17:43:24 u013958151 阅读数 1781
  • Qt内置按钮控件

    Linux环境图形用户界面应用程序开发,面向对象程序设计,Linux/Windows多平台图形应用开发,嵌入式设备图形界面开发。

    2879课时 0分钟 222人学习 沈寒
    免费试看

本地开发的时候,如果是windows系统,默认为中文环境,所以格式化日期的时候或者其他和语言系统有关系的时候默认就为当前系统的语言环境(中文),在linux服务器上,语言环境很有可能不是中文,如果需要显示对应的语言,需要指定语言环境,或者说指定区域

 

比如时间格式化
 

SimpleDateFormat sdf = new SimpleDateFormat(format);
DateFmtUtil.dateToString(date,"a h点m分");

windows得到的值就是 : 上午 9点5分

 

同样的代码,linux上得到的很有可能就是 :AM 9点5分

 

想要linux上也显示中午,那么创建SimpleDateFormat对象的时候需要指定区域,例如

SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.CHINA);

如果需要指定其他的区域, 使用Locale的其它常量就行

 

2018-11-05 13:06:11 nokiaxjw 阅读数 941
  • Qt内置按钮控件

    Linux环境图形用户界面应用程序开发,面向对象程序设计,Linux/Windows多平台图形应用开发,嵌入式设备图形界面开发。

    2879课时 0分钟 222人学习 沈寒
    免费试看

am335x linux3.2.0内核 编译Graphics_SDK_setuplinux_4_09_00_01_hardfp_minimal_demos.bin

注:sd卡启动盘插入到ubuntu10.04,sd卡显示的目录是/media/rootfs

一、Ubuntu 10.04 LTS 32位系统下安装ti-sdk-am335x-evm-06.00.00.00-Linux-x86-Install.bin

ubuntu-10.04-desktop-i386.iso下载地址:

http://old-releases.ubuntu.com/releases/10.04.0/

ti-sdk-am335x-evm-06.00.00.00-Linux-x86-Install.bin下载地址:

http://software-dl.ti.com/sitara_linux/esd/AM335xSDK/06_00_00_00/index_FDS.html

安装ti-sdk-am335x-evm-06.00.00.00-Linux-x86-Install.bin到/home/username/ti-sdk-am335x-evm-06.00.00.00

二、编译linux内核

参考http://software-dl.ti.com/sitara_linux/esd/AM335xSDK/06_00_00_00/exports/sitara-linuxsdk-sdg-06.00.00.00.pdf

cd /home/username/ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11

export PATH="/home/username/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin:$PATH"

 

To clean the kernel:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mrproper

 

To build SDK configuration for AM335x:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am335x-evm_defconfig

 

To build uImage target:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage

 

To build modules:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules

 

安装内核

sudo make ARCH=arm INSTALL_MOD_PATH=<path to root of file system> modules_install 

示例:sudo make ARCH=arm INSTALLMOD_PATH=/media/rootfs modules_install

三、编译Graphics SDK(Graphics_SDK_setuplinux_4_09_00_01_hardfp_minimal_demos.bin)

安装Graphics_SDK_setuplinux_4_09_00_01_hardfp_minimal_demos.bin到/home/username/Graphics_SDK_4_09_00_01

cd /home/username/Graphics_SDK_4_09_00_01

export ARCH=arm

vi  ./Graphics_SDK_4_09_00_01/Rules.make

 

HOME=/home/username

GRAPHICS_INSTALL_DIR=${HOME}/Graphics_SDK_4_09_00_01

CSTOOL_DIR = /home/username/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin

CSTOOL_PREFIX = arm-linux-gnueabi-

KERNEL_INSTALL_DIR=/home/username/ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11

TARGETFS_INSTALL_DIR = /media/rootfs

 

编译和安装

make BUILD=release  OMAPES=8.x  SUPPORT_XORG=1  PM_RUNTIME=1 all

make BUILD=release  OMAPES=8.x  SUPPORT_XORG=1  PM_RUNTIME=1 install

 

修改linux 启动盘的/etc/profile文件

#export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0 

export QT_QPA_PLATFORM=eglfs:fb=/dev/fb0                                     

export QT_QPA_EGLFS_FB=/dev/fb0                                              

export QT_QPA_EGLFS_WIDTH=1024                                               

export QT_QPA_EGLFS_HEIGHT=768                                               

export QT_QPA_EGLFS_PHYSICAL_WIDTH=100                                    

export QT_QPA_EGLFS_PHYSICAL_HEIGHT=100       

#增加qtquickcontrol支持

export QML2_IMPORT_PATH=$QTDIR/qml

 

修改linux 启动盘的/etc/powervr.ini

ParamBufferSize=33554432

 

初始化eglfs运行环境

仪器开机后运行 /etc/init.d/335x-demo          

2017-07-24 15:30:58 c_z_w 阅读数 411
  • Qt内置按钮控件

    Linux环境图形用户界面应用程序开发,面向对象程序设计,Linux/Windows多平台图形应用开发,嵌入式设备图形界面开发。

    2879课时 0分钟 222人学习 沈寒
    免费试看

am命令的参数介绍:

usage: am [subcommand] [options]

    start an Activity: am start [-D] <INTENT>
        -D: enable debugging

    send a broadcast Intent: am broadcast <INTENT> 

    start an Instrumentation: am instrument [flags] <COMPONENT>
        -r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT)
        -e <NAME> <VALUE>: set argument <NAME> to <VALUE>
        -p <FILE>: write profiling data to <FILE>
        -w: wait for instrumentation to finish before returning

    start profiling: am profile <PROCESS> start <FILE>
    stop profiling: am profile <PROCESS> stop

    <INTENT> specifications include these flags:
        [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
        [-c <CATEGORY> [-c <CATEGORY>] ...]
        [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
        [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
        [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
        [-n <COMPONENT>] [-f <FLAGS>] [<URI>]

tips:你也可以在终端下输入adb shell am 查看更多使用方法
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

具体使用方法:

am start -n 包(package)名/包名.活动(activity)名称 
启动的方法可以从每个应用的AndroidManifest.xml的文件中得到

Music 和 Video(音乐和视频)的启动方法为: 
am start -n com.Android.music/com.android.music.MusicBrowserActivity

am start -n com.android.music/com.android.music.VideoBrowserActivity

am start -n com.android.music/com.android.music.MediaPlaybackActivity

Camera(照相机)的启动方法为: 
am start -n com.android.camera/com.android.camera.Camera

Browser(浏览器)的启动方法为: 
am start -n com.android.browser/com.android.browser.BrowserActivity

启动浏览器 : 
am start -a android.intent.action.VIEW -d http://www.baidu.com/

拨打电话 : 
am start -a android.intent.action.CALL -d tel:10086

启动 google map 直接定位到北京 : 
am start -a android.intent.action.VIEW geo:0,0?q=beijing

安卓am命令有很多个参数及使用方法,具体可参考官方网站:Android Debug Bridge

==================================================

pm命令的参数介绍如下:

usage: pm [list|path|install|uninstall] 
       pm list packages [-f] 
       pm list permission-groups 
       pm list permissions [-g] [-f] [-d] [-u] [GROUP] 
       pm list instrumentation [-f] [TARGET-PACKAGE] 
       pm path PACKAGE 
       pm install [-l] [-r] PATH 
       pm uninstall [-k] PACKAGE 
       pm enable PACKAGE_OR_COMPONENT 
       pm disable PACKAGE_OR_COMPONENT

The list packages command prints all packages.  Use 
the -f option to see their associated file.

The list permission-groups command prints all known 
permission groups.

The list permissions command prints all known 
permissions, optionally only those in GROUP.  Use 
the -g option to organize by group.  Use 
the -f option to print all information.  Use 
the -s option for a short summary.  Use 
the -d option to only list dangerous permissions.  Use 
the -u option to list only the permissions users will see.

The list instrumentation command prints all instrumentations, 
or only those that target a specified package.  Use the -f option 
to see their associated file.

The path command prints the path to the .apk of a package.

The install command installs a package to the system.  Use 
the -l option to install the package with FORWARD_LOCK. Use 
the -r option to reinstall an exisiting app, keeping its data.

The uninstall command removes a package from the system. Use 
the -k option to keep the data and cache directories around 
after the package removal.

tips:你也可以在终端下输入adb shell pm 查看更多使用方法
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

具体使用方法:

1.1:察看已安装的包: 
pm list package 
此时则显示所有已经安装的包名。

pm list package -f 
也显示associated文件所在目录(即保存的APK文件)

1.2:察看已知的权限组: 
pm list permission-groups

1.3:察看所有已知的权限: 
pm list permissions

1.4:列出所有硬件相关信息: 
pm list features

结果通常类似: 
feature:reqGlEsVersion=0x20000 
feature:android.hardware.bluetooth 
feature:android.hardware.camera 
feature:android.hardware.location 
feature:android.hardware.location.network 
feature:android.hardware.microphone 
feature:android.hardware.sensor.accelerometer 
feature:android.hardware.sensor.compass 
feature:android.hardware.touchscreen 
feature:android.hardware.wifi

1.5:列出指定包名的 associated 文件 (APK存档文件) 所在: 
例如: 
pm path com.cai.test 
package:/mnt/asec/com.cai.test-1/test.apk

1.6: 安装APK: 
pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH

PATH 指 APK文件绝对路径和文件名。

例如: 
pm install /data/test.apk

这几个参数很有用: 
-r: 安装一个已经安装的APK,保持其数据不变。 
-i:指定安装的包名。(没试出来) 
-s: 安装到SDCard上。 
-f: 安装到内部Flash上。

1.6:卸载APK: 
pm uninstall 包名。 
例如: 
pm uninstall com.cai.test

1.7: 得到和设置缺省安装位置: 
The getInstallLocation command gets the current install location 
0 [auto]: Let system decide the best location 
1 [internal]: Install on internal device storage 
2 [external]: Install on external media 
The setInstallLocation command changes the default install location 
0 [auto]: Let system decide the best location 
1 [internal]: Install on internal device storage 
2 [external]: Install on external media

pm getInstallLocation 
得到缺省的安装位置。

设置: 
pm setInstallLocation <0|1|2>

0: 自动。 
1:内部Flash。 
2:扩展存储设备。

2017-11-30 17:43:45 qq_36279445 阅读数 4017
  • Qt内置按钮控件

    Linux环境图形用户界面应用程序开发,面向对象程序设计,Linux/Windows多平台图形应用开发,嵌入式设备图形界面开发。

    2879课时 0分钟 222人学习 沈寒
    免费试看

客户需求要求的。


官方文档:点击打开链接







解决方法: