问题标签 [android.mk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
781 浏览

java - Android N 使用Android.mk build BUILD_JAVA_LIBRARY 无法生成classes.jar

在 Android N 开源项目中,我想生成我的 classes.jar 使用 Android.mk,但不是。下面是我的 Android.mk

在 Android M/L 上会生成 classes.jar。我尝试关闭 JACK,但是编译失败。

谢谢

0 投票
1 回答
1978 浏览

android-studio - 在android ndk中如何在一次构建运行中创建多个库(.so)

如何在单个 ndk-build 运行中创建多个 .so 文件或库例如我发布了我的代码:

构建.gradle:

安卓.mk:

应用程序.mk:

这是可以做到的还是有其他方法可以做到这一点。谢谢

0 投票
3 回答
3762 浏览

bash - 如何在 AOSP 中为预构建的应用程序(无源代码)添加额外权限

我有一个没有特定 android 权限的应用程序(例如android.permission.CHANGE_CONFIGURATION)。

  1. 我没有它的源代码。
  2. 我正在开发 AOSP。

我预先构建了这个应用程序,例如:

  1. 放入APK/device/model/apps/HERE
  2. 在 Android.mk 中添加这些代码段:

define PREBUILT_templateByMe LOCAL_MODULE := $(1) LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_CERTIFICATE := PRESIGNED LOCAL_SRC_FILES := $$(LOCAL_MODULE).apk LOCAL_REQUIRED_MODULES := $(2) include $(BUILD_PREBUILT) endef

define PREBUILT_APP_templateByMe include $$(CLEAR_VARS) LOCAL_MODULE_TAGS := optional $(call PREBUILT_templateByMe, $(1), $(2)) endef

prebuilt_appsByMe := \ myapp

$(foreach app,$(prebuilt_appsByMe), \ $(eval $(call PREBUILT_APP_templateByMe, $(app),))) include $(call all-makefiles-under,$(LOCAL_PATH))

它工作得很好,并且 myapp 预构建到操作系统中。

现在我想将特定的 android 权限(android.permission.CHANGE_CONFIGURATION)添加到 myapp。

我阅读了这个这个和许多其他文档,但我不知道应用程序的这个 XML 文件的内容;还是有可能?!
(这些链接是否有助于指导我正确了解 XML 文件的内容?这个这个


我尝试了另一种方法,但没有用(预安装应用程序并通过 shell 脚本添加权限:
注意:首先,我应该说它以前在另一个自定义 AOSP 上有效,但在这个上无效!

  1. 放入APK/device/model/apps/HERE
  2. 在 Android.mk 中添加此代码段

include $(CLEAR_VARS) LOCAL_MODULE := myapp.apk LOCAL_MODULE_TAGS := optional LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT)/preinstall LOCAL_SRC_FILES := myapp.apk include $(BUILD_PREBUILT)

include $(CLEAR_VARS) LOCAL_MODULE := preinstall.sh LOCAL_MODULE_TAGS := optional LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT)/preinstall LOCAL_SRC_FILES := preinstall.sh include $(BUILD_PREBUILT)

  1. preinstall.sh 的内容:

#!/system/bin/sh
MARK=/data/local/symbol_thirdpart_apks_installed PKGS=/system/preinstall/
if [ ! -e $MARK ]; then echo "booting the first time, so pre-install some APKs."
busybox find $PKGS -name "*\.apk" -exec sh /system/bin/pm install {} \;
touch $MARK echo "OK, installation complete." fi
busybox sh /system/bin/pm grant com.example.myapp android.permission.CHANGE_CONFIGURATION;

  1. 在 init.rc 文件中将此 shell 脚本作为服务调用,例如:
    on boot start preinstallByMe

service preinstallByMe /system/bin/sh /system/preinstall/preinstall.sh class main user root group root disabled oneshot

但似乎它不是调用。

  1. 即使 init.rc 文件中的这些代码段也不起作用:

    1. service installapk /system/preinstall/preinstall.sh class main oneshot

    2. on boot exec /system/preinstall/preinstall.sh

    3. busybox /system/preinstall/preinstall.sh
    4. pm grant com.example.myapp android.permission.CHANGE_CONFIGURATION;

注意:如果我手动从 shell 调用 preinstall,它就可以工作。
PS:如果你不允许调用你的脚本,你可以通过添加这样的东西来添加权限/system/core/include/private/android_filesystem_config.h

{ 00755, AID_ROOT, AID_ROOT, 0, "system/preinstall/preinstall.sh"},

原因第二种方式(预安装并通过 shell 添加权限),在这个自定义 AOSP 中不起作用,我将通过预构建从头开始向我的应用程序添加特定的 android 权限;但是,如果有人知道第二种解决方案有什么问题,我将不胜感激。

0 投票
1 回答
66 浏览

aar - 我使用ubuntu构建我的android项目,但是我不能使用VerticalGridView,我需要帮助!

VerticalGridView依赖recyclerview,但是我在Android.mk中导入support包时,aar包冲突,如何使用VerticalGridView?</p>

0 投票
2 回答
4297 浏览

android-source - 如何在 Android.mk 中添加一些第三方 *.so 文件?

我正在 AOSP 中编译我自己的应用程序,我想在 AOSP 的包/应用程序中添加我自己的应用程序。我有一些*.so文件将在我的应用程序中使用,但是如何编写Android.mk使用这些第三方.so文件?这是我的Android.mk

构建 apk 内容显示:在此处输入图像描述

但我可以t find在我的构建 apk 中使用 *.so`文件

0 投票
0 回答
155 浏览

android - 如何为仅标头库编写 Android.mk?

我想import-module为我的应用程序使用的所有库使用该机制,包括一些仅限标头的库。有没有办法做到这一点,或者我是否仅限于直接include.mk 指定包含路径并将它们明确添加到的文件LOCAL_C_INCLUDES

0 投票
1 回答
2943 浏览

android - Android NDK:您的 APP_BUILD_SCRIPT 指向一个未知文件:Android.mk

我知道之前有人问过这个问题,但我尝试了所有现有的解决方案,但没有一个解决了这个问题。

我正在尝试创建一个简单的 hello world 本机应用程序(二进制而不是 apk),但是当我尝试使用“ndk-build”进行编译时,我不断收到此错误消息

安卓.mk

应用程序.mk

主文件

这是我的文件夹的结构

0 投票
3 回答
3604 浏览

android - 如何从 Android.mk 创建 AAR 存档文件

我正在尝试构建一个自定义 Android 系统,为此我想使用一个单独的库来包含一些自定义视图。为此,我使用创建了一个 Java 库

但这样做的缺点是我不能使用任何资源,并且所有的 ui 自定义和布局安排都必须以编程方式完成。

现在我想更改它并创建一个 Android 库,以生成一个 *.aar,我还可以在其中添加资源并直接从布局文件和一些可绘制对象中扩展视图。我怎样才能做到这一点?

0 投票
0 回答
150 浏览

android - 在我的 Android 项目中包含一个预建的 .so 库

好吧,我正在尝试为我的 Android 项目使用预构建的 .so 库。

我一直在阅读 stackoverflow 和官方文档中的几个线程,但仍然有一些疑问。据我了解,我只需要将库放入特定文件夹,然后创建一个 mk 文件并按一次刷新。不幸的是,我收到以下错误:

在此处输入图像描述

我的 Android.mk 文件有以下内容:

我将文件放在以下路径中:

结构

如何修复先前评论的错误?

谢谢你。

0 投票
0 回答
329 浏览

android - Android.mk,Windows Shell:如何在没有完整路径的情况下获取所有目录和子目录的列表

我已经硬编码了 LOCAL_C_INCLUDES 的值。但是,我想使用 windows shell 命令来获取 LOCAL_C_INCLUDES 的这个值。我对此研究了2个多小时,但找不到任何东西。

如何获取没有文件的文件夹和子文件夹列表

禁止使用 DIR 列出目录名称

上面的命令给了我目录和子目录的完整路径。但是,我只需要当前目录的路径,即 jni\shared\Core\filters,而不需要从 D:\ 等开始的整个路径。