Error when attempting to install a file.
Hi, When testing the software I pulled an apk from my test phone which worked flawlessly. But then proceding to try and install the same apk it gives the following error message on a windows machine:
Error: Unable to open file: /data/local/tmp/modydroid/Facebook
com.facebook.katana_Verstub_94.2.0 _. apkError: Can't open file: /data/local/tmp/modydroid/Facebook_com.facebook.katana_Verstub_94.2.0 _. apkException occurred while executing 'install':java.lang.IllegalArgumentException: Error: Can't open file: /data/local/tmp/modydroid/Facebook_com.facebook.katana_Verstub_94.2.0 _. apkat com.android.server.pm.PackageManagerShellCommand.setParams Size(PackageManagerShellCommand.java:621Jat com.android.server.pm.PackageManager ShellCommand.doRunInstall(PackageManagerShellCommand.java:1472)at com.android.server.pm.PackageManagerShellCommand.runlnstallPackageManager ShellCommand.java:1438)at com.android.server.pm.PackageManager ShellCommand.onCommand(PackageManager ShellCommand.java:234)at com.android.modules.utils.Basic ShellCommandHandler.exec(Basic ShellCommandHandler.java:97Jat android.os. ShellCommand.exec(ShellCommand.java:38)at com.android.server.pm.PackageManager ServiceSIPackageManagerlmpl.onShellCommand(Packa...
Best regards, Gonzako
已修复,请更新awtk到540a58c再试试,谢谢
你好,kb_int能正常使用的,但是在kb assic和default按键均无法使用 ,这两个按键需要将所有的按键都设置为grab_keys吗,我目前只设置了一个
awtk中有关于5key的例程demo_5key_app可以参考一下,关于上面的问题,awtk里的kb_default_5key.xml可以解答
awtk中有关于5key的例程demo_5key_app可以参考一下,关于上面的问题,awtk里的kb_default_5key.xml可以解答
你好,有另外一个问题想请教, 我手动使用main_loop_post_key_event(main_loop(), TRUE, TK_KEY_LEFT);的方式去post事件,在没有输入需求的时候,他可以正常上下左右确定,当有输入需求,例如edit或者spinbox时候,他在打开键盘后,此时无法再控制上下左右确认
#include "awtk.h" #include "common/navigator.h"
#ifndef APP_SYSTEM_BAR #define APP_SYSTEM_BAR "" #endif /APP_SYSTEM_BAR/
#ifndef APP_BOTTOM_SYSTEM_BAR #define APP_BOTTOM_SYSTEM_BAR "" #endif /APP_BOTTOM_SYSTEM_BAR/
#ifndef APP_START_PAGE #define APP_START_PAGE "home_page" #endif /APP_START_PAGE/
#define WITH_STATE_ACTIVATED 1 /**
- 注册自定义控件 */ static ret_t custom_widgets_register(void) {
return RET_OK; }
/**
- 当程序初始化完成时调用,全局只触发一次。 */ static ret_t application_on_launch(void) {
return RET_OK; }
/**
- 当程序退出时调用,全局只触发一次。 */ static ret_t application_on_exit(void) {
return RET_OK; }
// 处理全局按键按下事件 ret_t on_global_key_down(void* ctx, event_t* e) { char ch[50] = {0}; key_event_t* evt = key_event_cast(e); // 转换为按键事件 const key_type_value_t* ktv = keys_type_find_by_value(evt->key);
if (0== strcmp( ktv->name, "XLEFT"))
{
main_loop_post_key_event(main_loop(), TRUE, TK_KEY_LEFT);
//main_loop_post_key_event(main_loop(), FALSE, TK_KEY_LEFT);
}else if (0== strcmp( ktv->name, "XRIGHT"))
{
main_loop_post_key_event(main_loop(), TRUE, TK_KEY_RIGHT);
// main_loop_post_key_event(main_loop(), FALSE, TK_KEY_RIGHT);
}
else if (0== strcmp( ktv->name, "XUP"))
{
main_loop_post_key_event(main_loop(), TRUE, TK_KEY_UP);
// main_loop_post_key_event(main_loop(), FALSE, TK_KEY_UP);
}else if (0== strcmp( ktv->name, "XDOWN"))
{
main_loop_post_key_event(main_loop(), TRUE, TK_KEY_DOWN);
// main_loop_post_key_event(main_loop(), FALSE, TK_KEY_DOWN);
}else if (0== strcmp( ktv->name, "XENTER"))
{
main_loop_post_key_event(main_loop(), TRUE, TK_KEY_RETURN);
//main_loop_post_key_event(main_loop(), FALSE, TK_KEY_RETURN);
}
return RET_OK;
}
// 处理全局按键抬起事件 ret_t on_global_key_up(void* ctx, event_t* e) { char ch[50] = {0}; key_event_t* evt = key_event_cast(e); // 转换为按键事件
const key_type_value_t* ktv = keys_type_find_by_value(evt->key);
if (0== strcmp( ktv->name, "XLEFT"))
{
main_loop_post_key_event(main_loop(), FALSE, TK_KEY_LEFT);
}else if (0== strcmp( ktv->name, "XRIGHT"))
{
main_loop_post_key_event(main_loop(), FALSE, TK_KEY_RIGHT);
}
else if (0== strcmp( ktv->name, "XUP"))
{
main_loop_post_key_event(main_loop(), FALSE, TK_KEY_UP);
}else if (0== strcmp( ktv->name, "XDOWN"))
{
main_loop_post_key_event(main_loop(), FALSE, TK_KEY_DOWN);
}else if (0== strcmp( ktv->name, "XENTER"))
{
main_loop_post_key_event(main_loop(), FALSE, TK_KEY_KP_ENTER);
}
return RET_OK;
}
/**
-
初始化程序 */ ret_t application_init(void) {
printf("app time: %s %s\n", DATE, TIME);
system_info_set_keyboard_type(system_info(), KEYBOARD_5KEYS);
printf("set log level debug\n");
log_set_log_level(LOG_LEVEL_DEBUG);
navigator_global_widget_on(EVT_KEY_DOWN, on_global_key_down, NULL); navigator_global_widget_on(EVT_KEY_UP, on_global_key_up, NULL);
custom_widgets_register(); application_on_launch();
if (strlen(APP_SYSTEM_BAR) > 0) { navigator_to(APP_SYSTEM_BAR); }
if (strlen(APP_BOTTOM_SYSTEM_BAR) > 0) { navigator_to(APP_BOTTOM_SYSTEM_BAR); }
return navigator_to(APP_START_PAGE); }
/**
- 退出程序 */ ret_t application_exit(void) { application_on_exit(); log_debug("application_exit\n");
return RET_OK; }
请确认一下编译脚本中CCFLAGS是否包含了WITH_STATE_ACTIVATED system_info_set_keyboard_type(system_info(), KEYBOARD_5KEYS)是否返回RET_OK
请确认一下编译脚本中CCFLAGS是否包含了WITH_STATE_ACTIVATED system_info_set_keyboard_type(system_info(), KEYBOARD_5KEYS)是否返回RET_OK
你好编译脚本已包含 ,已确认返回OK 且在非编辑状态,我是可以通过按键控制上下左右移动的,只有进入编辑状态,才会出现这个问题
我试过demo_5key是正常的,enter键进入mledit激活状态,之后弹出软键盘,此时上下左右用于移动键盘上的焦点,enter键用于点击键盘上焦点停留的控件,关闭软键盘后,上下左右用于移动mledit的光标位置,enter键退出mledit激活状态
我试过demo_5key是正常的,enter键进入mledit激活状态,之后弹出软键盘,此时上下左右用于移动键盘上的焦点,enter键用于点击键盘上焦点停留的控件,关闭软键盘后,上下左右用于移动mledit的光标位置,enter键退出mledit激活状态
你好,请问你使用的是 main_loop_post_key_event 进行事件分发吗,我不使用main_loop_post_key_event(main_loop(), FALSE, TK_KEY_KP_ENTER);进行事件分发,而是把键盘映射为上下左右确定,他也是可以正常使用的,但是我尝试使用main_loop_post_key_event(main_loop(), FALSE, TK_KEY_KP_ENTER);进行事件分发,则会出现上面这个问题。
没有,我只是用demo_5key进行测试的,什么场景下才需要用到这种用法呢? 看你代码只处理了EVT_KEY_UP和EVT_KEY_DOWN,可能要将剩下的EVT_KEY_开头的事件也处理一下
没有,我只是用demo_5key进行测试的,什么场景下才需要用到这种用法呢? 看你代码只处理了EVT_KEY_UP和EVT_KEY_DOWN,可能要将剩下的EVT_KEY_开头的事件也处理一下
你好,我这个平台有旋转编码器,旋转编码器上报的输入事件只有相对值变化,例如+1表示旋转了1次,-1表示反向旋转了一次,这样的话,旋转编码器是无法映射为左右按键的,所以我准备,当旋转编码器旋转一次,我就使用main_loop_post_key_event 发送一个左或右的事件,来模拟左右按键。