标签: android-build

org.gradle.api.plugins.UnknownPluginException - 'org.gradle.kotlin.kotlin-dsl

在我们的内部 CI 服务器中运行构建时,我收到以下错误。

org.gradle.api.plugins.UnknownPluginException:在以下任何来源中均未找到插件 [id:'org.gradle.kotlin.kotlin-dsl',版本:'0.18.1']:

  • Gradle 核心插件(插件不在“org.gradle”命名空间中)
  • 插件存储库(无法解析插件工件“org.gradle.kotlin.kotlin-dsl:org.gradle.kotlin.kotlin-dsl.gradle.plugin:0.18.1”)在以下存储库中搜索:Gradle中央插件存储库

app/buildSrc/build.gradle.kts 下面是 build.gradle.kts 中的代码

plugins {
    `kotlin-dsl`
}
Run Code Online (Sandbox Code Playgroud)

即使我尝试包含上面或下面的存储库,插件也没有任何区别。

plugins {
    `kotlin-dsl`
}
repositories {
      maven("https://ci.mycompany.com/jcenter")
}
Run Code Online (Sandbox Code Playgroud)

android android-build gradle-kotlin-dsl

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

更新到 3.2 后的 Android Gradle 错误

我今天早上为 Android Studio 做了一个更新,现在它在 Android Studio 3.2 上

Build #AI-181.5540.7.32.5014246, built on September 17, 2018
JRE: 1.8.0_152-release-1136-b06 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0.
Run Code Online (Sandbox Code Playgroud)

在更新之前,项目运行良好,现在我在构建它时出错:

Execution failed for task ':app:processDebugResources'.
Android resource linking failed
warn: removing resource (myAppId)/content_main_photos without required default value.
app\src\main\res\layout\activity_main.xml:23: error: resource string/fgmt_titre_drawer (aka (myAppId):string/fgmt_titre_drawer) not found.
...
...
...
Run Code Online (Sandbox Code Playgroud)

我厌倦了清理和重建,重新启动并使缓存无效,但没有任何效果。

问题是什么 ?

android android-build android-resources android-studio android-gradle-plugin

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

使用 Android studio 生成签名 APK 时出现错误

这是事件日志中不断出现的错误:

生成签名的 APK:构建 APK 时出错。您可以在“消息”视图中找到错误

消息中是这样的:

Android资源编译失败输出:

C:\Users\me\AndroidStudioProjects\SimpleCalculator2\app\src\main\res\mipmap-xxhdpi\ic_launcher.png: error: failed to read PNG signature: file does not start with PNG signature.

命令:

 C:\Users\me\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971- windows.jar\6c29a9fd1a7f2d4d5ddcbb0cbfa348c6\aapt2-3.2.0-4818971-windows\aapt2.exe compile --legacy\-o\

C:\Users\me\AndroidStudioProjects\SimpleCalculator2\app\build\intermediates\res\merged\release \

C:\Users\me\AndroidStudioProjects\SimpleCalculator2\app\src\main\res\mipmap-xxhdpi\ic_launcher.png
Run Code Online (Sandbox Code Playgroud)

守护进程:AAPT2 aapt2-3.2.0-4818971-windows 守护进程 #0

android android-build apk android-studio

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

Android项目构建目标

我有一个现有的应用程序有一个最小的Android:Android 2.1的minSdkVersion我注意到我的应用程序运行缓慢平板电脑Androids(3.0+)所以我想启用Android 3.0中添加的硬件加速.

我在项目属性 - > Android下的eclipse中感到困惑我最初选择的是Android 2.2(API 8),但为了使新的硬件加速能够工作,我需要选择Android 3.0(API 11).我的问题是将Project Build Target切换到Android 3.0有什么风险?一般来说,我应该发布使用最新的Project Build Target编译吗?其他人在做什么?您是否始终使用最新的API发布?

我尝试了很多搜索,但只能在android:minSdkVersion和android:targetSdkVersion上找到讨论,但在构建中使用的实际Android API上却没有.

谢谢你的帮助

eclipse android android-build

2
推荐指数
1
解决办法
8192
查看次数

构建时找不到android.os.ServiceManager

我在构建android源代码时遇到以下错误,我添加了使用android.os.ServiceManager的自定义应用程序.

cannot find symbol
symbol  : class ServiceManager
location: package android.os
import android.os.ServiceManager;
Run Code Online (Sandbox Code Playgroud)

为什么我会遇到这个错误,实际上这个导入可以在android源码的许多其他应用程序中找到.

我在http://source.android.com/source/building.html中构建了android源代码, 并且也按照这篇文章导入android.os.ServiceManager无法解析答案.

有关更多信息,我正在[android root]/packages/app /目录中构建

请有人帮我解决这个问题吗?

android android-build android-source

2
推荐指数
1
解决办法
9663
查看次数

在Android apk中打包linux binary

如果我想在我的.apk文件中包含一个linux二进制文件(如ffmpeg)(仅适用于基于ARM的设备),这是否可以分发给非root用户手机?我知道可以使用Runtime.exec()调用包含的二进制文件,但这是推荐的做法吗?

android ffmpeg android-ndk android-build

2
推荐指数
1
解决办法
3196
查看次数

在Android上构建i2c工具

我正在尝试将i2-tools集成到Android构建系统上。我已经修改了Internet.bk上提到的Android.mk,但看不到文件被编译。

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include
LOCAL_SRC_FILES := tools/i2cbusses.c tools/util.c
LOCAL_MODULE := i2c-tools
include $(BUILD_STATIC_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES:=tools/i2cdetect.c
LOCAL_MODULE:=i2cdetect
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include
include $(BUILD_EXECUTABLE)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES:=tools/i2cget.c
LOCAL_MODULE:=i2cget
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include
include $(BUILD_EXECUTABLE)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES:=tools/i2cset.c
LOCAL_MODULE:=i2cset
LOCAL_CPPFLAGS += -DANDROID
LOCAL_SHARED_LIBRARIES:=libc
LOCAL_STATIC_LIBRARIES := i2c-tools
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include …
Run Code Online (Sandbox Code Playgroud)

android-build

2
推荐指数
1
解决办法
7357
查看次数

可以使用Api 23(6.0)进行编译并维护旧的权限系统(安装时)吗?

我在官方的android博客中引用了这个:

权限更改 使用Marshmallow,权限已从安装时移至运行时.这是SDK 23+的强制性更改,这意味着它将影响所有开发人员和所有针对Android 6.0的应用程序.

所以...如果您使用Android 6.0(api 23)进行编译但是您的目标是Android 4.4(api 20),则可以保留旧的权限系统吗?

我的意思是这样做:

    compileSdkVersion 'Google Inc.:Google APIs:23'
    buildToolsVersion "23.0.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 20
    }
Run Code Online (Sandbox Code Playgroud)

我现在的项目的必要条件是维护旧的权限系统并定位sdk版本20(因为我需要维护旧的通知系统,如果你的目标sdk版本高于20,你必须使用新的通知系统).所以...如果我的目标是sdk版本20,我可以使用Api 23进行编译并维护旧的权限系统吗?

谢谢

android android-build android-gradle-plugin android-api-levels

2
推荐指数
1
解决办法
2012
查看次数

如何在分配AOSP清单后正确运行repo sync?

最近我决定潜入Android开源项目世界.这就是我对AOSP生活的看法:

为了深入了解AOSP世界,我需要弄清楚并修改项目中的代码.我打算在三台不同的计算机上完成它,所以我需要将我的工作存储在远程git存储库中.所以我需要在我自己的github帐户中分叉AOSP清单并从中开始工作.

稍后我说尝试使用框架项目,然后我需要将这个项目分成我自己的github帐户:

<project path="frameworks/base" name="platform/frameworks/base" groups="pdk-cw-fs,pdk-fs" />
Run Code Online (Sandbox Code Playgroud)

理想情况下,当我进行本地repo同步时,框架/基础项目将从我自己的github帐户中获取,所有其他项目将从google git repo获取.

这是我在行动中所做的:

我想要做的是将AOSP清单git repo分配给我的github并从那里开始工作.然后我做:

repo sync -u git@github.com:my_own_github_account/platform_manifest.git
Run Code Online (Sandbox Code Playgroud)

然后我做:

repo sync
Run Code Online (Sandbox Code Playgroud)

但是我在控制台中收到了很多错误:

fatal: remote error: 
  my_own_github_account/platform/external/libopus is not a valid repository name
  Email support@github.com for help
Run Code Online (Sandbox Code Playgroud)

似乎repo将假设项目将来自与清单项目相同的基础.我不确定如何正确地与分叉清单进行repo同步.

另外,我不确定我尝试开始AOSP工作的方式是愚蠢还是不专业.如果是这样,如果你能指出我正确的做法,我将不胜感激.提前致谢.

android-build android-source repo

2
推荐指数
1
解决办法
756
查看次数

使用com.android.support.constraint的文件:constraint-layout:1.0.0-alpha2

我对Android不是很熟悉,但我朋友的一位朋友说他在我的电脑上为我的网站制作了一个应用程序.所以他发给我源文件,我试图重建应用程序,但它不起作用.我甚至试图在我的计算机上创建一个新项目,并复制/粘贴每个页面的代码.然后只需更改项目名称,但问题与下面的问题相同,我无法再次与他联系,因为他只是为我服务.所以我希望这里有人可以帮我解决这个问题,因为我真的厌倦了尝试解决这个问题.

错误信息是:

Maven package paths must start with m2repository
com.intellij.openapi.diagnostic.Logger$EmptyThrowable
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:117)
    at com.android.tools.idea.sdk.wizard.InstallSelectedPackagesStep$CustomLogger.logError(InstallSelectedPackagesStep.java:403)
    at com.android.sdklib.repositoryv2.MavenInstaller.install(MavenInstaller.java:102)
    at com.android.tools.idea.sdk.wizard.InstallSelectedPackagesStep$InstallTask.run(InstallSelectedPackagesStep.java:242)
    at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:563)
    at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:142)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:446)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:127)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:126)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:366)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:55)
Run Code Online (Sandbox Code Playgroud)
apply plugin: 'com.android.application'
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    defaultConfig {
        applicationId "co.berava"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        } …
Run Code Online (Sandbox Code Playgroud)

android android-build android-gradle-plugin

2
推荐指数
1
解决办法
1万
查看次数