小编Jug*_*uge的帖子

PackageParser:<manifest> 下的未知元素:元数据

我正在尝试对我的应用程序进行更新,该更新将通过自己的服务器交付。一切都很顺利,直到更新过程显示:解析错误 - 解析包时出现问题。

来自日志猫

PackageParser: Unknown element under <manifest>: meta-data at
Run Code Online (Sandbox Code Playgroud)

并用 aapt 查找

  A: android:name(0x01010003)="android.permission.MANAGE_USB" (Raw: "android.permission.MANAGE_USB")
E: meta-data (line=21)
  A: android:name(0x01010003)="android.support.VERSION" (Raw: "android.support.VERSION")
Run Code Online (Sandbox Code Playgroud)

同一问题的一篇文章建议应禁用即时运行功能,但仍然不行。

我有最新的 AS 和最新的更新。

我的 app/src/main/AndroidManifest.xml 中的元数据部分是

<meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_admin_receiver" />
Run Code Online (Sandbox Code Playgroud)

另一篇文章也讨论了元数据以及它应该如何包含名称和资源,但在我的元数据中两者都有,所以这不可能是问题。

我还查看了manifest-merger-release-report.txt

meta-data#android.support.VERSION
ADDED from [com.android.support:appcompat-v7:25.3.1] /home/test/.android/build-cache/0babb927f9685604721e7d79f796b3104e7aa65c/output/AndroidManifest.xml:25:5-27:34
MERGED from [com.android.support:support-v4:25.3.1] /home/test/.android/build-cache/c982b10f45110a04eb75ca3351098dfbfe082732/output/AndroidManifest.xml:25:5-27:34
Run Code Online (Sandbox Code Playgroud)

从 app/build/intermediates/manifests/full/release/AndroidManifest.xml 中它有:

<uses-permission android:name="android.permission.MANAGE_USB" />

<meta-data
    android:name="android.support.VERSION"
    android:value="25.3.1" />

<application
Run Code Online (Sandbox Code Playgroud)

我有外部库

compile 'com.fasterxml.jackson.core:jackson-core:2.9.0'
compile 'com.fasterxml.jackson.core:jackson-databind:2.9.0'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.0'
compile 'uk.co.chrisjenx:calligraphy:2.3.0'
Run Code Online (Sandbox Code Playgroud)

和 CarouselLayoutManager 作为模块,其中有

compile 'com.android.support:recyclerview-v7:25.3.1'
Run Code Online (Sandbox Code Playgroud)

我试图找到这个问题的根本原因,但所有的指南、提示和技巧都陷入了死胡同。

更新 1 …

android gradle android-manifest apk

5
推荐指数
1
解决办法
5538
查看次数

片段或活动之间的交叉淡入淡出动画

我想在片段之间实现Crossfade动画(不淡出/淡入动画,因为它允许在动画之间简单地看到底层的Activity /片段)

Android开发人员有指南如何Crossfade观看" 交叉淡化两个视图 ",但我不知道如何在片段或活动之间实现Crossfade.

以某种方式制作自定义动画并覆盖onCreateAnimator函数或甚至可能?

android android-animation android-fragments android-6.0-marshmallow

4
推荐指数
1
解决办法
2746
查看次数

如何在 rombuild 中向 android AOSP Marshmallow 的 /data 部分下添加文件正确的方法

我正在制作 Marshmallow AOSP rom 并尝试将 device_owner.xml 添加到 /data/system 以将应用程序直接配置给设备所有者。

我在产品副本文件之后添加了 .mk 文件之一

 PRODUCT_COPY_FILES += abc/cba:data/system/device_owner.xml
Run Code Online (Sandbox Code Playgroud)

文件可以在 out/data/system/ 下找到,但它似乎没有包含在 rom 中。

我也尝试用 PRODUCT_COPY_FILES 替换

PRODUCT_PACKAGES += device_owner.xml
Run Code Online (Sandbox Code Playgroud)

并为该文件制作了自己的 Android.mk 文件

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE = device_owner.xml
LOCAL_SRC_FILES = $(LOCAL_MODULE)
LOCAL_MODULE_CLASS = ETC
LOCAL_MODULE_PATH = $(TARGET_OUT_DATA)/system
include $(BUILD_PREBUILT)
Run Code Online (Sandbox Code Playgroud)

仍然不包含在 rom 中。

我读过数据分区将是 userdata.img 的一部分,但文件也不存在。

我还尝试将 device_owner.xml 包含到不同的位置,例如 /system/ 下,然后将其复制到 post-fs-data 阶段下的 init.rc 文件中

copy /system/abc/device_owner.xml /data/system/device_owner.xml
chown system system /data/system/device_owner.xml
chmod 0600 /data/system/device_owner.xml
Run Code Online (Sandbox Code Playgroud)

文件将是正确的位置,但由于某种原因 chown 命令不会将所有者和组更改为系统。默认情况下,文件具有 root 所有者和组。

知道如何做到这一点吗? …

android user-data android-6.0-marshmallow

3
推荐指数
1
解决办法
3096
查看次数

如何在另一个阶段使用 Jenkins Pipeline 全局变量?

我已经在 J​​enkins 管道中定义了全局变量

def BUILDNRO = '0'
pipeline { ...
Run Code Online (Sandbox Code Playgroud)

然后,我使用 shell 脚本操作变量,以使用作业构建号作为标识符来并行运行构建,这样我们就不会混合不同的 docker 群。

    stage('Handle BUILD_NUMBER') {
        steps {
            script {
            BUILDNRO = sh( script: '''#!/bin/bash
            Build=`echo ${BUILD_NUMBER} | grep -o '..$'`
            # Check if BUILD first character is 0
            if [[ $Build:0:1 == "0" ]]; then
                # replace BUILD first character from 0 to 5
                Build=`echo $Build | sed s/./5/1`
            fi
            echo $Build
            ''',returnStdout: true).trim()
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我从上一个阶段获取价值并尝试在下一阶段获取全局变量

    stage('DOCKER: Init docker swarm') {
        steps {
            echo "BUILDNRO …
Run Code Online (Sandbox Code Playgroud)

sh jenkins jenkins-groovy jenkins-pipeline

3
推荐指数
1
解决办法
7172
查看次数