Articles of android studio

使用Gradle构build本机代码时,符号被剥离

在我的Android项目中,使用最新的Gradle构build工具,我有一个具有本地C代码和一些简单function的文件。 C文件中包含的唯一东西是string.h和jni.h,函数只是返回String和原语。 除了其他源文件夹(java,res等)之外,该文件还被放置在jni目录中。 当我构build应用程序时,它会编译C代码,生成.so文件并将其包含在我的APK中。 问题是.so文件已经删除了所有的符号。 当检查放置在build / intermediate / ndk / obj中的中间.so文件时,所有符号仍然存在。 因此,在生成第一个.so文件之后的某个地方,当它被打包时,一切都被剥离了。 当使用命令行ndk-build构build.so文件时,一切正常,符号也包含在内。 这是Android的Gradle插件(我使用最新的!)的错误还是我错过了什么?

从Eclipse导入到Android Studio后无法运行任务执行失败':app:dexDebug“

在Eclipse(4.4.2)ADT中运行Android项目,在Linux(Ubuntu 14.10)上运行。 我已经导入到Android Studio(1.1.0),并设法摆脱我最初的编译错误。 接下来我想要的是在我的手机上运行 – 我推绿色的“运行”button,过了一会儿,我得到一个错误(这只是当我只是build立模块,只有当我试图运行时) 错误是这样的: 错误:任务':myapp:dexDebug'的执行失败。 进程'命令'/ usr / lib / jvm / java-7-openjdk-amd64 / bin / java'零退出值2 过去4个小时一直在看SO,没有发现任何与我的项目相关的东西。 是否有另一个地方可以find更有用的错误? 编辑: Aaarghh – 刚刚重新创build整个项目(而不是信任导入向导) – 我创build了一个新的Android Studio项目,导入我的代码和资源,然后解决所有的编译和依赖性错误。 通过一个清晰的构build,然后试图运行….同样该死的错误! 一模一样。 我究竟做错了什么???? 新buildbuild.gradle张贴作为参考: buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.+' } } apply plugin: 'com.android.application' apply plugin: […]

Android Studio无法parsing导入的AAR模块中的符号

在类似的问题的所有答案都谈论manunally编辑gradle文件。 但我已经使用Android Studio来导入AAR文件,并检查了build.gradle文件,它们都是正确的。 我的问题是这样的: 我导入了ShowCaseView v5.0.0 AAR,但是当我尝试导入Tutorial.java文件中的类(可以看到红色)时,Android Studio无法识别这些类。 Android Studio只能识别的是com.github.amlcurran.showcaseview.R 。 我也尝试清理和重build项目,closures并重新打开Android Studio,但没有帮助。 PS请忽略丢失的XML文件,因为在我将它们复制到项目之前。 Gradle文件 ShowCaseView-5.0.0> build.gradle: configurations.create("default") artifacts.add("default", file('ShowCaseView-5.0.0.aar')) 我的应用程序的build.gradle: apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.giraffeweather" minSdkVersion 19 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } […]

Android Crosswalk Lite – Android Studio集成

我已经成功实现了Android Studio项目中的crosswalk webview项目。 基本上通过以下链接: https : //diego.org/2015/01/07/embedding-crosswalk-in-android-studio/ 熟悉实施人行横道的人知道,应用程序的大小增加了20-30mb。 出于这个原因,我一直在尝试整合精简版的人行横道。 这是+ – 10 MB,不幸的是没有成功。 正常的人行横道项目有一个maven版本可以在https://download.01.org/crosswalk/releases/crosswalk/android/maven2/org/xwalk/xwalk_core_library/ 精简版版本也有一个AAR版本在https://download.01.org/crosswalk/releases/crosswalk-lite/android/canary/,但没有POM文件,我不能在Android Studio中使用它。 现在我一直在尝试手动下载人行横道版本。 我创build了一个库项目,复制了所有相关的文件,创build了gradle文件并将其包含在一个小testing应用程序中。 到目前为止,一切似乎都没有问题。 应用程序编译。 所有类如XWalkView都可以在我的应用程序中使用。 运行应用程序的作品也是如此,除了webview是完全黑色的。 现在我认为它与libxwalkcore.so文件没有被加载的东西有关。 放在每个可以想象的文件夹(jar,jniLibs,lib等)中。 不工作。 在任何日志中没有错误。 问题我有,如果有人已经成功获得在Android Studio项目内工作的Lite版本。 顺便说一句。 crosswalk-lite图书馆应用程序的gradle文件包含: dependencies { compile files('libs/xwalk_core_library_java_library_part.jar') compile files('libs/xwalk_core_library_java_app_part.jar') }

Android工作室和控制台构build的Android APK具有不同的SHA指纹

在构build签名版APK时,我遇到了以下问题:如果我使用build.gradle文件(仅适用于相关部分)从android studio(通过Build – > Generate Signed APK… )构build签名的apk: signingConfigs { release { storeFile file('/keystore/location/mykeystore.keystore') storePassword 'storepassword' keyAlias 'key' keyPassword 'keypassword' } } buildTypes { release { signingConfig signingConfigs.release } } 由此产生的apk指纹是YY:YY 。 但是,如果我从控制台构build我的APK,如这里描述与build.gradle像这样: buildTypes { release { } } 并用相同的密钥库文件签名,得到的apk指纹是XX:XX 。 另外,两个SHA指纹都与我的debugging证书SHA指纹不同。 这种行为的原因是什么? 我正在使用buildToolsVersion 23.0.0 android studio gradle版本1.3.0 android sdk工具版本24.3.4 android studio版本1.3.1

Android Studio:Gradle Build运行3分钟

我有一个简单的应用程序,每次我点击“运行”它需要超过3分钟的时间来完成构build和加载应用程序。 它发生在模拟器和我的android手机。 在将此帖标记为类似post之前,请听我说:自从过去10天以来,我一直在试图解决此问题。 我已经经历了20多个堆栈溢出类似的问题(像这样)和几十个关于谷歌的文章,我已经尝试了他们build议的每个解决scheme,但似乎没有任何工作。 这是我迄今为止所尝试的: 添加了org.gradle.parallel=true和org.gradle.daemon=true to gradle.properties 增加 – 平行和 – 离线命令行选项设置 在设置中启用“脱机工作” 启用/禁用“即时运行” – 没有任何区别 我已经分配了很多内存: org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF- 8 我完全禁用了Windows Defender 我使用的是Gradle(2.10)的最新版本和2.1.1的最新版本的Android Studio,即使尝试了所有这些,仍然需要3分钟以上,这让人非常沮丧。 当应用程序运行几分钟,我已经注意到:app:processDebugResources在gradle控制台中的:app:processDebugResources 。 所以也许这可能会导致减速,我不知道。 此外,我有一个XML文件,我parsing,该XML文件中有大约70,000行。 这是否会造成任何问题? 可以是Windows 8吗? 请提供有关如何解决此问题的build议。 谢谢 :)

DisplayLeakActivity不存在

一段时间以来,我有与LeakCanary(我认为自Android Studio 2.2,但不知道)的问题, 我添加了这个依赖关系 dependencies { debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2' releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2' testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2' } 当我点击Android Studio中的播放button时,出现以下错误消息: $ adb shell am start -n "com.example.debug/com.squareup.leakcanary.internal.DisplayLeakActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Error while executing: am start -n "com.example.debug/com.squareup.leakcanary.internal.DisplayLeakActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.debug/com.squareup.leakcanary.internal.DisplayLeakActivity } Error type 3 Error: Activity class {com.example.debug/com.squareup.leakcanary.internal.DisplayLeakActivity} does not exist. Error […]

Android Studio:EditText editable已弃用如何使用inputType

我想要实现 android:editable="false" 但它告诉我可编辑已被弃用 ,您可以使用inputType来代替。 所以我不知道如何通过使用inputType来实现它。

Android – 将所有lint警告设置为除某些之外的错误

我正在尝试使我的持续集成在引入不在lint-baseline.xml文件中的新的lint警告时失败。 我想要把所有的lint警告视为错误(所以构build被中止),但我想要一种方式来指定某些lint检查被视为信息级或警告级,以便它们仍然出现在lint结果中,但不要不会导致构build失败。 下面是一个基本上我想要做的例子(除非这不起作用,如果存在任何不被忽略的警告,构build失败): lintOptions { lintConfig file("lint.xml") baseline file("lint-baseline.xml") checkAllWarnings true warningsAsErrors true abortOnError true informational 'MissingTranslation, …' // don't fail the build for these } 有没有一种简单的方法把所有的皮棉检查都视为错误,排除某些错误? 我曾经想过手动设置所有的200多个lint检查到错误级别,但是这不是很有前途的证据,因为每次添加新的lint检查都必须更新列表。

在debugging模式下运行Android应用程序

我的Android Studio版本是2.3.3 在我的Android应用程序gradle构build中,我明确地定义了不同的server_urlstring值,用于debuggingtypes和发布types: buildTypes { debug { resValue "string", "server_url", "https://myserver.debug.com/" } release { resValue "string", "server_url", "https://myserver.com/" … } } 在我的代码中,我得到了string值: String url = context.getString(R.string.server_url); 我把我的Android手机连接到我的笔记本电脑。 Android工作室工具栏如下所示: 我也select了构build变体是“debugging”: 我点击 ,该应用程序正在我的手机上运行,​​但是,它使用在发布types中定义的server_url值。 为什么? (在build/generated/res/resValues/debug/generated.xml和build/generated/res/resValues/debug/generated.xml build/generated/res/resValues/release/generated.xml我看到这些值,没有问题了。 ====更新=== 添加defaultPublishConfig 'debug'修复了这个问题(谢谢@Ulug Toprak),但我仍然想知道为什么Android Studio没有它,但我已经设置了Build Variant到“Debug”。 也许在Android Studio中的错误?