标签: android-build

如何转换Eclipse Android项目以使用Ant进行构建?

我在Eclipse中有一个Android项目我希望将其转换为使用Ant构建.

我怎样才能做到这一点?我已经尝试导出一个Ant构建文件,但我很确定它不会起作用(当使用导出的文件运行ant时也不行).我不太了解Ant,所以一些解释也会有所帮助.

编辑:现在我似乎设法创建了所需的构建文件,但我需要添加项目库像admob.jar,以便被ant看到并用于构建.因为我收到以下错误

        -dex:
     [echo] Converting compiled files and external libraries into C:\Users\Jason
\Documents\Programming\Android\Android SVN\trunk\GPSAlarm\BusSnooze\bin\classes.
dex...
    [apply]
    [apply] UNEXPECTED TOP-LEVEL EXCEPTION:
    [apply] com.android.dx.util.ExceptionWithContext
    [apply]     at com.android.dx.util.ExceptionWithContext.withContext(Exceptio
nWithContext.java:46)
    [apply]     at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslato
r.java:340)
    [apply]     at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.ja
va:131)
    [apply]     at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.jav
a:85)
    [apply]     at com.android.dx.command.dexer.Main.processClass(Main.java:297)

    [apply]     at com.android.dx.command.dexer.Main.processFileBytes(Main.java:
276)
    [apply]     at com.android.dx.command.dexer.Main.access$100(Main.java:56)
    [apply]     at com.android.dx.command.dexer.Main$1.processFileBytes(Main.jav
a:228)
    [apply]     at com.android.dx.cf.direct.ClassPathOpener.processArchive(Class
PathOpener.java:245)
    [apply]     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPath
Opener.java:130)
    [apply]     at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpe
ner.java:108)
    [apply]     at com.android.dx.command.dexer.Main.processOne(Main.java:245)
    [apply]     at com.android.dx.command.dexer.Main.processAllFiles(Main.java:1
83)
    [apply]     at com.android.dx.command.dexer.Main.run(Main.java:139)
    [apply]     at com.android.dx.command.dexer.Main.main(Main.java:120) …
Run Code Online (Sandbox Code Playgroud)

eclipse ant android build android-build

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

使用Android Gradle插件在编译之前运行任务

我有一个非常简单的build.gradle文件,其中包含以下内容:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.1'
    }
}

apply plugin: 'android'

android {
    buildToolsVersion "17.0.0"
    compileSdkVersion 17

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}

task generateSources {
    doFirst {
        def script = "python GenerateSources.py".execute()
        script.in.eachLine {line -> println line}
        script.err.eachLine {line -> println "ERROR: " + line}
        script.waitFor()
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要的是generateSources在java编译开始之前运行任务.我找到了几个解决方案,如何做到这一点compileJava.dependsOn("generateSources"),但不幸的是他们给出了一个错误:

A problem occurred evaluating root project 'Android'.
> Could not …
Run Code Online (Sandbox Code Playgroud)

android gradle android-build

37
推荐指数
4
解决办法
3万
查看次数

使用Android Studio/Gradle从git describe自动版本化Android项目

我已经进行了广泛的搜索,但可能由于Android Studio和Gradle的新功能,我还没有找到任何关于如何执行此操作的说明.我想基本上完成本文中描述的内容,但使用Android Studio,Gradle和Windows而不是Eclipse和Linux.

git android auto-versioning gradle android-build

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

如何在Gradle中使用Renderscript支持库

是否可以将支持Renderscript库与Gradle 一起使用?如果是这样,你如何将它包含在你的项目中?

android gradle android-build renderscript

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

local.properties在哪里用于android项目?

从IntelliJ 13获得此投诉:

8:15:48 PM Gradle '<project>' project refresh failed:
           SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
           Build file '/<project>/build.gradle' line: 20
           : Gradle settings
Run Code Online (Sandbox Code Playgroud)

我试图在我能想到的每个目录中垃圾邮件我的local.properties但仍然收到此错误.是什么赋予了?

android intellij-idea android-build

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

使用gradle进行编译时,源代码版本1.7无效

对于使用钻石操作符的库,我需要1.7.

我遵循了这些答案......但没有快乐.

从gradle构建

    compileSdkVersion 19
buildToolsVersion '19.0.3'

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

defaultConfig {
    minSdkVersion 10
    targetSdkVersion 19
    versionCode 22
    versionName "1.3.1"
}
Run Code Online (Sandbox Code Playgroud)

错误:任务':MyApp:compileDefaultFlavorDebugJava'的执行失败.

无效的源代码版本:1.7

Java home设置为:$ echo $ JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home

android gradle android-build

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

在IntelliJ IDEA中加快Android项目构建时间

我想知道,如果有任何方法,如何skip packaging and dexing在Eclipse和ADT中设置IntelliJ IDEA.Additional VM OptionsIntelliJ中的Android DX Compiler部分中有字段Preferences,也许这可能是一种方式,如何设置它.我还要感谢另一个提示,如何加快IntelliJ Android项目的构建速度.

android build intellij-idea android-build dex

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

LOCAL_MODULE_TAGS有什么用?

我想在包中更新我的Android.mk文件以构建新的包,但我不明白它的目的LOCAL_MODULE_TAGS是什么.

怎么LOCAL_MODULE_TAGS办?

android frameworks package android-build android-source

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

Android中的eng和用户调试构建之间的区别

我想知道两者之间的区别build_flavor.

eng&user-debug

eng和用户构建风味之间的区别很明显.但是eng和用户调试让我感到困惑.在用户调试中不存在的eng中提供的附加调试工具是什么?

例如.

If I take only the Kernel being built:
Run Code Online (Sandbox Code Playgroud)

Will the Debugging levels differ for the eng and user-debug builds?

我正面临一个问题,用户调试版本在Android手机上启动.但是build build不是,build_flavor是两个构建之间的唯一区别.

任何帮助/指针表示赞赏.谢谢!

linux android makefile linux-kernel android-build

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

为什么gradle不会覆盖不同Android风格的Java类?

我有一个2种口味的Android应用程序:-flavor1 -flavor2

我的目录树是:

/src/main
/src/flavor1
/src/flavor2
Run Code Online (Sandbox Code Playgroud)

main具有默认的源集.flavor1和flavor2目录有自己的源集,gradle自动获取.如果我将一个资源文件添加到flavor目录中,它会从main覆盖它,并且工作正常.

但是,如果我在flavor2中添加一个java类来覆盖"main"中的另一个,(例如,在flavor2中需要不同的活动),它不会替换它,并且它说我的项目中有一个重复的类.我只是通过从"main"目录中删除类并将其添加到所有flavor文件夹来实现此功能.

有没有办法像资源文件一样覆盖java类?为什么会这样?

java android gradle android-build android-studio

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