标签: android-build

为什么我无法构建Android源代码?

谷歌已发布谷歌IO 13 Android应用程序源代码.

在git clone和导入项目之后,我在构建时遇到了很多问题,你可以在这里找到.在通过所有问题后,它现在说:

找不到HomeActivity.apk!

这是我的构建过程的屏幕截图:

构建截图

如何构建源代码?

eclipse android android-build googleio

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

如何更改Android产品的根文件夹

是否可以更改默认的口味根路径?

从:

---src
-----main
-----flavor1
-----flavor2
-----flavor3
Run Code Online (Sandbox Code Playgroud)

至:

---src
-----main
-----flavors
--------flavor1
--------flavor2
--------flavor3
Run Code Online (Sandbox Code Playgroud)

android-build android-productflavors

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

无法在单个 dex 文件中容纳请求的类。尝试提供一个 main-dex 列表。# 方法:66029 > 65536

我试图buildapk从我的应用程序,但每次我尝试buildapk,我得到了下面的错误。

Cannot fit requested classes in a single dex file. Try supplying a main-dex list. methods: 66029 > 65536

建造

apply plugin: 'com.android.application'

android {
compileSdkVersion 27
buildToolsVersion "28.0.0-rc1"
useLibrary 'org.apache.http.legacy'
defaultConfig {
    applicationId "com.example.warrenedy.julyfinal"
    minSdkVersion 17
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile 'com.android.support:appcompat-v7:27.1.1'
compile 'com.android.support:recyclerview-v7:27.1.1'
compile 'com.android.support.constraint:constraint-layout:1.1.2'
compile 'com.android.support:design:27.1.1'
compile 'com.android.support:support-v4:27.1.1'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.8' …
Run Code Online (Sandbox Code Playgroud)

android android-build

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

Android repo init:SSL_CERTIFICATE_VERIFY_FAILED 错误

下载安卓源代码:

我发出

repo init -u https://android.googlesource.com/platform/manifest
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [SSL_CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c :726)
fatal: cloning the git-repo repository,will remove '.repo/repo'
Run Code Online (Sandbox Code Playgroud)

我试过什么?

- 我曾尝试从谷歌浏览器和 Internet Explorer访问 https://android.googlesource.com/platform/manifesthttps://gerrit.googlesource.com/git-repo/clone.bundle并且没有问题

- 尝试在 repo init 命令中将 https 更改为 http

-修改了repo脚本并将https更改为http

- 修改 gitconfig 如下:

[user]
        name = myName
        email = myemail.id
[http]
        proxy = http://user:passwd@gateway.com:8080
        sslVerify = false
[https]
        proxy = https://user:passwd@gateway.com:8080
        sslVerify = false
Run Code Online (Sandbox Code Playgroud)

如何导入这些站点的证书?我正在使用 Ubuntu 18.04 。有没有办法强制忽略这个?

PS:我在代理后面并且已经设置了代理设置并且它工作正常。(试过 sudo apt-get update)

ssl android android-build repo

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

在现有的 aosp 模块上包含预构建的静态库

我正在尝试将我的预构建库包含在现有的 Android Module 中art/runtime/。我已经按照官方文档,找到here。详细地说,这些是我所做的更改:

在 art/Android.mk 中添加了几行:

# This makes sure my library's .mk is found
include $(art_path)/mylib/Android.mk
Run Code Online (Sandbox Code Playgroud)

在 art/runtime/Android.mk 中添加了几行:

# Added this, after the LOCAL_C_INCLUDES
LOCAL_STATIC_LIBRARIES := mylib-prebuilt
# Also, on the next mention of LOCAL_STATIC_LIBRARIES, I changed the
# assignment operator to '+=', so mylib won't overriden
Run Code Online (Sandbox Code Playgroud)

包含在art/runtime.cc源 mylib 的头文件中:

#include "mylib.h"
// then at some point use it
Run Code Online (Sandbox Code Playgroud)

我已经把mylib来源放在art/mylib. 我使用常规 Makefile 手动构建存档libmylib.a,我希望将其静态链接到libart.so. …

android android-ndk android-build android-source

0
推荐指数
1
解决办法
2803
查看次数

如何检测AndroidStudio项目中build.gradle中何时存在依赖库版本更新

我有一个带有两个模块的android项目(典型的前端应用程序和后端).我有三个build.gradle文件,每个模块一个,根目录一个.

我已经构建我的依赖关系的方式是通过提取所有的版本为独立的变量在根级别build.gradle这样

ext {
    // SDK and tools
    MIN_SDK_VERSION = 19
    TARGET_SDK_VERSION = 23
    COMPILE_SDK_VERSION = 23
    BUILD_TOOLS_VERSION = '24'

    // app dependencies
    GOOGLE_API_CLIENT_VERSION = '1.19.0'
    GOOGLE_PLAY_SERVICES_VERSION = '8.4.0'
    ANDROID_SUPPORT_LIB_VERSION = '23.1.0'
    [...]

    // backend dependencies
    [...]
}
Run Code Online (Sandbox Code Playgroud)

以后在我的说app build.gradle文件中使用

dependencies {
    [...]
    compile(group: 'com.google.oauth-client', name: 'google-oauth-client', version: rootProject.ext.GOOGLE_API_CLIENT_VERSION)
    /////////////////////////////////
    // Google Play Services explicit dependency
    compile(group: 'com.google.android.gms', name: 'play-services-auth', version: rootProject.ext.GOOGLE_PLAY_SERVICES_VERSION)
    compile(group: 'com.google.android.gms', name: 'play-services-plus', version: rootProject.ext.GOOGLE_PLAY_SERVICES_VERSION)
    [...]

    /////////////////////////////////
    // Local Testing
    testCompile(group: 'junit', …
Run Code Online (Sandbox Code Playgroud)

gradle android-build android-studio build.gradle android-gradle-plugin

0
推荐指数
1
解决办法
1366
查看次数

修改 Android 源码的核心 java 库以用于应用程序

我想对 Android 源代码进行一些修改以满足我的要求。这是要求:

我想通过向类中再添加一个公共int字段来索引 Android 应用程序中的所有对象java.lang.Object。因此,所有类都可以继承新添加的字段,因为它们都是Object该类的子类。

到目前为止我所做的是修改文件夹java.lang.Object下的类<Android_source>/libcore/libart/src/main/java/java/lang并重新编译源代码。

我想问一下我做的对不对。我的 Android 应用程序能否识别此更改(例如,String对象是否可以访问新添加的字段)?

编辑

经过大约 3 周的尝试和错误,我终于得到了完整的答案。我想,如果别人想修改的Android源的核心Java库(例如,修改与他人分享这方面的经验Object.javaString.java等)。同样,正如迈克尔所提到的,请注意此类修改可能仅适用于研究或测试目的。

成功修改的关键挑战(这里的“成功”意味着修改后的 Android 源代码可以在模拟器或真实设备上构建和运行而没有任何问题)是核心 java 库中的一些类有它们的 C++ 镜像(位于<Android_source>/art/runtime/mirrors/)。在修改这些 java 类时,您也应该对其 C++ 镜像进行相同的修改。否则,您可能会在构建过程中失败,因为您需要通过大量检查。由于我只向 中添加了一个新字段,因此Object.java我将在下面列出我遇到的一些检查(或要求):

1.对象实例的大小=其C++镜像的大小。例如,如果我将一个long字段添加到 中Object.java,我还应该uint64_t向它的 C++ 镜像添加一个字段以使其大小相等。

2. 尝试使对象实例的大小为 2 的幂(例如,2, 4, 8, 16, ...)。比如原来的大小Object.java是8,所以我加了一个long字段,把大小增加到16。如果我加了一个int字段,大小变成了12,很多检查都会失败。我不知道确切的原因,但我想这与memory 对齐有关

3.尽量将原始类型字段放在非原始类型字段之后,原始类型字段应按大小排序。这意味着您应该将引用类型字段放在前面,然后是 8 字节原始类型字段,然后是 4 字节原始类型字段,然后是 2 字节原始类型字段,然后是 1 字节原始类型- 类型字段。同样,我猜原因是内存对齐 …

java android build android-build android-source

0
推荐指数
1
解决办法
396
查看次数

Unable to find method 'org.gradle.api.tasks.compile.CompileOptions.setBootClasspath(Ljava/lang/String;)V'

When I try to build signed apk, I started getting the following issue:

Unable to find method 'org.gradle.api.tasks.compile.CompileOptions.setBootClasspath(Ljava/lang/String;)V'.
Possible causes for this unexpected error include:
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)

The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)

Your project may be using a third-party plugin which …
Run Code Online (Sandbox Code Playgroud)

android android-build

0
推荐指数
2
解决办法
174
查看次数

在使用cmd在Cordova中进行构建时

使用cdm使用Cordova进行构建时,发送此错误

**为此版本启动新的Gradle守护进程(后续版本会更快)。

失败:构建失败,发生异常。

  • 出了什么问题:无法启动守护进程。此问题可能是由守护程序的错误配置引起的。例如,使用了无法识别的jvm选项。请参阅守护程序上的用户指南一章,网址https://docs.gradle.org/ 2.14.1 / userguide / gradle_daemon.html

    请阅读以下过程输出以了解更多信息:

VM初始化期间发生错误,无法为2097152KB对象堆保留足够的空间

  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。错误:cmd:命令失败,退出代码为1错误输出:FAILURE:构建因异常而失败。

  • 出了什么问题:无法启动守护进程。此问题可能是由守护程序的错误配置引起的。例如,使用了无法识别的jvm选项。请参阅守护程序上的用户指南一章,网址https://docs.gradle.org/ 2.14.1 / userguide / gradle_daemon.html

    请阅读以下过程输出以了解更多信息:

VM初始化期间发生错误,无法为2097152KB对象堆保留足够的空间

  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。**

请提出解决方案。

谢谢

cmd android-build cordova

-1
推荐指数
1
解决办法
1579
查看次数