首页 > 移动平台 > 详细

Android Studio使用笔记

时间:2015-08-14 15:53:55      阅读:445      评论:0      收藏:0      [点我收藏+]

使用Gradle方式:

如果编译成功,运行提示

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘/home/zhaokun/work/jdk1.7.0_71/bin/java‘‘ finished with non-zero exit value 2

可以在工程根目录下运行./gradlew installDebug --stacktrace,或者在IDE窗口Gradle console 发现有下面的提示

com.android.dex.DexIndexOverflowException: Cannot merge new index 65949 into a non-jumbo instruction!

在主工程的build.gradle文件,android{} 内添加如下内容

    android.dexOptions {
        jumboMode = true
//        javaMaxHeapSize "2g"
    }
Eclipse 中是在project.properties中添加dex.force.jumbo=true


导入第三方库的源代码时,把源代码copy到工程根目录,源代码目录下新建build.gradle文件(内容根据各自工程而定):

buildscript {
   repositories {
       jcenter()
   }
   dependencies {
       classpath ‘com.android.tools.build:gradle:1.3.0‘
   }
}

allprojects {
   repositories {
       jcenter()
   }
}

apply plugin: ‘android-library‘


android {
   compileSdkVersion 19
   buildToolsVersion "23.0.0 rc3"

   defaultConfig {
       minSdkVersion 9
       targetSdkVersion 11
   }
   sourceSets {
       main {
           manifest.srcFile ‘AndroidManifest.xml‘
           java.srcDirs = [‘src‘]
           resources.srcDirs = [‘src‘]
           aidl.srcDirs = [‘src‘]
           renderscript.srcDirs = [‘src‘]
           res.srcDirs = [‘res‘]
           assets.srcDirs = [‘assets‘]                        jniLibs.srcDirs = [‘libs‘]
}
}
}

dependencies {
compile files(‘libs/××××.jar‘)
}

提示下面的错误,是主工程和引用工程合并AndroidManifest时,冲突,

AndroidManifest.xml:33:9-41 Error:
Attribute application@label value=(@string/ime_name) from AndroidManifest.xml:33:9-41
is also present at [App2:unspecified] AndroidManifest.xml:38:9-51 value=(@string/appcenter_app_name)
解决办法:
在主工程的AndroidManifest.xml文件的<application>内添加下面的内容tools:replace="android:label,android:name"
哪些冲突添加哪些
然后在<manifest>内添加xmlns:tools="http://schemas.android.com/tools"

最新版Android Studio NDK调试:
跟目录下
local.properties文件指定ndk和sdk目录
ndk.dir=/home/***/work/sdk/ndk-bundle
sdk.dir=/home/***/work/sdk

settings.gradle文件指定导入的工程
include ‘:mainApp‘
include ‘:libApp‘

gradle/wrapper/gradle-wrapper.properties文件
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.5-all.zip

根目录下build.gradle文件:
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath ‘com.android.tools.build:gradle-experimental:0.2.0‘
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

Module工程目录下build.gradle:
apply plugin: ‘com.android.model.application‘
model {
    android {
        compileSdkVersion = buildToolsVersion = defaultConfig.with {
            applicationId = minSdkVersion.apiLevel = targetSdkVersion.apiLevel = }
      }
    android.buildTypes {
        release {
            minifyEnabled = proguardFiles += file()
        }
    }



    android.ndk {
        moduleName = String srcDirs = ${projectDir}String includeSrcBase = ${srcDirs}String includeSrc2Base = ${srcDirs}stl += CFlags += [
                includeSrcBase,
                includeSrc2Base]
        cppFlags += [
                includeSrcBase,
                includeSrc2Base]

}
    android.productFlavors {
        create() {
            ndk.abiFilters += }
        create() {
            ndk.abiFilters += }
        create() {
            ndk.abiFilters += }
        create() {
            ndk.abiFilters += }
        create() {
            ndk.abiFilters += }
        create() {
            ndk.abiFilters += }
        create() {
            ndk.abiFilters += }
        create()
    }

    android.dexOptions {
        jumboMode = }

    android.buildTypes {
        release {
            minifyEnabled = proguardFiles  += file()
        }
    }

    android.sources {
        {
            manifest.source.srcDirs = []java.source.srcDirs = []
            resources.source.srcDirs = []
            aidl.source.srcDirs = []
            renderscript.source.srcDirs = []
            res.source.srcDirs = []
            assets.source.srcDirs = []
            jniLibs.source.srcDirs = []
            jni.source.srcDirs = []
        }
    }
}


dependencies {
    compile project()
    compile fileTree(: , : [])
}


Android Studio使用笔记

原文:http://my.oschina.net/mutour/blog/492324

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!