如果我有一个用他们的密钥签名的第三方 apk。
我用我们的设备预先构建了它,在 ics 中,这应该用 BUILD_PREBUILT 来完成,apk 必须用我们的密钥签名,但是当用户拿到设备时,他们如何使用第三方提供的最新版本升级 apk?(证书不一样)。
提前致谢。
我想将资源文件/ xml 文件添加到 AOSP 中的 etc 文件夹中。我希望我的资源文件像 platform.xml 文件一样可用。
所以我基本上在 AOSP/frameworks/base/data/etc 文件夹中添加了我的 xml 文件,并相应地在 make 文件 Android.mk 中添加了以下几行
########################
include $(CLEAR_VARS)
LOCAL_MODULE := custom.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
# This will install the file in /system/etc/permissions
#
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
Run Code Online (Sandbox Code Playgroud)
编辑
添加上述内容后,我无法在 /system/etc/permissions 文件夹中看到我的文件。我错过了什么吗?
是否可以使用 init rc 脚本在 android 源代码中创建空文件,就像我们创建文件夹一样。mkdir /tmp 创建文件夹,但 touch /tmp/test 不执行任何操作。
请帮忙
我正在研究 AOSP 源代码以了解 WebView 是如何实现的。据我所知,在 Android 6 中,WebView 现在是一个独立的应用程序(称为 Android System Webview)。但是,在 external/chromium-webview 文件夹中我只有 apk 文件。
我找到了frameworks/base/core/java/webkit/WebView.java,这似乎是WebView的实现,但我不太明白这是真正的实现还是只是一个存根。是这个,还是chromium网站上的源代码实际上是Android System WebView?
另外,Android应用程序如何使用Android系统Webview应用程序本身创建Webview?它们是如何连接的?
最后,在我有 webview.apk 的文件夹中,自述文件提到了 libwebviewchromium.so。那是什么?
首先十分感谢。
在 Android.mk 文件中,我有以下执行 bash 脚本的行:
$(info $(shell ($(LOCAL_PATH)/build.sh)))
Run Code Online (Sandbox Code Playgroud)
但是,如果命令失败,则构建会继续而不是退出。
在这种情况下,如何使整个构建失败?
我正在开发一个应用程序以及一个自定义 Android ROM,它要求我访问 Android 文件系统中的某个文件夹。该应用程序具有系统权限,并且用户系统在执行时打印以下内容
id
Run Code Online (Sandbox Code Playgroud)
输出:
uid=1000(system) gid=1000(system) groups=1001(radio),1002(bluetooth),1003(graphics),1004(input),1005(audio),1006(camera),1007(log),1008(compass),1009(mount),1010(wifi),1018(usb)
Run Code Online (Sandbox Code Playgroud)
我需要访问的文件夹是由另一个用户(库层上的 Android 应用程序)创建的,并且仅限于我不属于的组。
所以我的问题是:Android源代码中的哪个位置适合将用户系统添加到现有组中?(或者系统所属的其他组是如何完成的)
我们已经从源代码构建了 Android,它在我们的设备上看起来不错。目前我们需要制作自己的OTA流程,但我们不知道如何。
我们尝试在我们的 http 服务器上实现 FSLOTa ( https://github.com/embest-tech/android_packages_apps_fsl_imx_demo/tree/master/FSLOta ),但文档很差 - 所以我们只需将源代码添加到我们的源代码中并编译它。
问题是,我们在盒子里看到了应用程序,但它什么也没有。
或者有办法修改内置的OTA应用程序,当我们将服务器更改为我们的服务器时,我们至少会收到http请求。但我们不知道,如何告诉 http 服务器关于新版本的框 - 任何清单文件?XML、JSON 还是?有什么例子吗?
或者是否有另一种简单的方法来实现对 AOSP 的 OTA 更新?
非常感谢 D
我需要在 aosp 构建树中使用 android.mk 构建一个应用程序。我有一个自定义的 .arr lib,它位于以下文件夹 apps/libs/mylib.aar
任何人都可以告诉我如何在 android aosp 构建中包含 aar。我已经尝试了此处描述的以下方法Stackoverflow link for aosp build with .aar lib
Android.mk 看起来像
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PACKAGE_NAME := sample
LOCAL_CERTIFICATE := platform
# SRC files
#=====================================================================
LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/aidl
LOCAL_SRC_FILES := $(call all-java-files-under, src) \
$(call all-Iaidl-files-under, aidl)
# RES files
#=====================================================================
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_RESOURCE_DIR +=prebuilts/sdk/current/extras/constraint-layout/res
LOCAL_RESOURCE_DIR +=frameworks/support/v7/appcompat/res
LOCAL_RESOURCE_DIR +=frameworks/support/design/res
LOCAL_RESOURCE_DIR +=frameworks/support-v4/res
LOCAL_MANIFEST_FILE :=AndroidManifest.xml
LOCAL_USE_AAPT2 := true
LOCAL_PROGUARD_ENABLED := disabled
# static .aar …Run Code Online (Sandbox Code Playgroud) 当我尝试构建 A7.1 时,出现以下错误。
[ 15% 1827/11495] target Package: framework-res ...bj/APPS/framework-res_intermediates/package.apk)
warning: string 'candidates_style' has no default translation.
warning: string 'candidates_style' is missing 41 required localizations: az_AZ be_BY bn_BD bs_BA en_AU en_CA en_GB en_IN en_NZ en_SG en_US eo_EU et_EE eu_ES gl_ES gu_IN hy_AM is_IS ka_GE kk_KZ km_KH kn_IN ky_KG lo_LA mk_MK ml_IN mn_MN mr_IN ms_MY my_MM ne_NP pa_IN si_LK sq_AL ta_IN te_IN ur_PK uz_UZ zh_CN zh_HK zh_TW
warning: string 'gsm_alphabet_default_charset' has no default translation.
warning: string 'gsm_alphabet_default_charset' is missing 90 required …Run Code Online (Sandbox Code Playgroud) 众所周知,/system/bin/linker负责动态链接机制,但libdl具有实际在动态链接器 ( ) 中定义的函数存根dlfcn.c,并在运行时被劫持,如下所示:
#include <dlfcn.h>
/* These are stubs for functions that are actually defined
* in the dynamic linker (dlfcn.c), and hijacked at runtime.
*/
void *dlopen(const char *filename, int flag) { return 0; }
const char *dlerror(void) { return 0; }
void *dlsym(void *handle, const char *symbol) { return 0; }
int dladdr(const void *addr, Dl_info *info) { return 0; }
int dlclose(void *handle) { return 0; }
void android_update_LD_LIBRARY_PATH(const char* …Run Code Online (Sandbox Code Playgroud)