Articles of android studio

如何查看Android Studio中由Gradle任务执行的CLI命令?

我正试图更好地了解Android Studio在构buildAndroid应用程序时幕后发生的情况。 我一直在阅读Gradle,但是我无法弄清楚的是如何查看Gradle调用的各个CLI命令和参数。 它似乎是抽象的,没有login到Gradle Console或Event Log 。 我最近看到Gradle里面发生了什么,是AOSP代码。 2.2.2来源: https://android.googlesource.com/platform/tools/base/+/gradle_2.2.2/build-system/gradle-core/src/main/java/com/android/build/gradle/tasks 目标 我希望能够看到由Android Studio中的Gradle任务生成的各个CLI命令。 用例示例 我想深入查看传统的Android构build过程。 这包括通过以下方面: 源代码/库代码 – > javac – > Java字节码(.class) – > proguard – >最小化字节码(.class) – > dex – > DEX字节码(.dex) 例如,我想看到由AndroidJavaCompile调用相应的javac命令。 https://android.googlesource.com/platform/tools/base/+/gradle_2.2.2/build-system/gradle-core/src/main/java/com/android/build/gradle/tasks/factory/AndroidJavaCompile。 java的 我担心要做到这一点的唯一方法是直接通过源代码,甚至直接从源代码构build。 尽职调查 我在Google,Android博客,Google I / O谈判,Android书籍等方面做了相当多的工作。 我一直无法find一个直接的答案。

./gradlew林特说“没有问题”,但分析 – >检查代码发现问题

我在Android Studio中有一个奇怪的问题:通过手动启动的linter Analyze -> Inspect Code -> "Whole project" 发现一些问题,但是如果我这样做 ./gradlew lint 在控制台,它说 Ran lint的变体版本:find0个问题 Ran lint变种debugging:发现0个问题 我的gradle文件中没有lintOptins ,但是使用lint.xml ,这里是: <?xml version="1.0" encoding="UTF-8"?> <lint> <issue id="all"> <ignore path="build" /> </issue> <issue id="all"> <ignore path="businesslogic/build" /> </issue> </lint> 我的问题:如何使控制台显示相同的错误在Android工作室检查?

ADT(Eclipse)与Android Studio:APK文件大小差异是多less正常?

我将ADT项目导入到最新版本的Android Studio(0.6.1)。 两个项目共享相同的代码和库。 同时这两个项目都被清除,并且启用了相同的ProGuard设置进行编译。 但是ADT APK文件的大小是1.8 MB,Android Studio APK文件是2.7 MB。 由于Android Studio仍然处于Early Access Preview中,或者我应该可以获得几乎相同的APK文件大小,所以APK文件大小增加了50%? (更新:我只是解压缩APK文件:所有文件几乎相同的大小,但差异来自classes.dex文件,ADT 1.2 MB和Android Studio 4.4 MB 。

Cannontparsing符号JSONObject(Android Studio)

我在这里花了两天时间。 我可以和其他PC一起工作,但是我的Android Studio不会导入库,我拿了两个截图: 正如你可以看到第一张图片,Android Studio自动完成我的线: 然而: 我正在阅读有关Android开发人员( 这里 )的JSONObject,Android将其包含在库中。 我也尝试从“org”导入其他库,但只是正常工作其中两个: 他们…我想这可能是一个Android Studio的问题,我重新安装了IDE,错误依然存在。 我试图在gradle中导入库(这是在build.gradle模块:应用程序): 我正在与其他电脑工作,它运作良好,但我需要解决这个在我的电脑。 请任何帮助,将不胜感激。

如何编辑在Android Studio中使用Gradle导入的库的代码?

我在Android Studio中遇到了一个小问题。 这个是用Gradle文件导入的,就像这样: dependencies { compile 'com.github.navasmdc:MaterialDesign:1.5@aar' } 它有一个来自其GitHub存储库的已知问题,但我只能通过在该库的文件中编辑一行代码来修复它…问题是我无法在Android Studio中find它的代码。 从另一个Stackoverflow的post,我发现这个: apply plugin: 'idea' idea{ module { downloadJavadoc = true downloadSources = true } } 但是在应用它并重新加载我的Gradleconfiguration之后,我仍然找不到代码。 你能帮我吗? 谢谢!

Android multidex,UnsatisfiedLinkError – 找不到.so文件

我试图添加一些lib(.jar&.so)到我在android studio的multidex项目。 当我只添加几个jar子的项目一切工作正常。 万一我添加更多的jar子(其他库)我得到这个错误: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.test.digital.ocrtest-2/base.apk"],nativeLibraryDirectories=[/data/app/com.test.digital.ocrtest-2/lib/arm, /data/app/com.test.digital.ocrtest-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]] couldn't find "libScanovatePassportAndIDLSDK_CPP.so" 任何想法如何告诉编译器生成jar,所以在相同的dex?

如何在android中创build自定义数据绑定? (android studio)

我想实现自定义函数从ImageView下载像这样的app:imageUrl="@{status.imageUrl}"图像app:imageUrl="@{status.imageUrl}"在下面的代码: <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <data> <variable name="status" type="com.databinding.data.Status" /> </data> <RelativeLayout android:id="@+id/status_container" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/status_avatar" android:layout_width="64dp" android:layout_height="64dp" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:contentDescription="@null" app:imageUrl="@{status.imageUrl}"/> </RelativeLayout> </layout> 如何编写这个可以从@{status.imageUrl}下载图像自动化的函数? 使用这个库com.android.databinding 。

如何在Android Studio和NDK上使用extra * .so库

我正在尝试生成一个Android应用程序来使用一些额外的* .so库(特别是“libinterface.so”)。 这些库是从外部生成的,并作为依赖包含在从Java侧调用的包装类中。 该库存储在“src / main / jniLibs / armeabi-v7a”中。 系统将所有.so文件包含到生成的应用程序中。 以前,我使用Eclipse来达到这个目的,而且我可以使用这个库,但是我有问题要使用Android Studio来完成。 生成的错误是: /home/******/Libraries/android-sdk-linux/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9/../../../../aarch64-linux-android/bin/ld: cannot find -linterface 由于错误是由链接器引发的,它看起来与库包含步骤有关。 在Eclipse上,我使用了一个'Android.mk'文件来包含新的库,但是我找不到用Gradle做这个的方法。 #Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libinterface-prebuilt LOCAL_SRC_FILES := prebuilt/libinterface.so include $(PREBUILT_SHARED_LIBRARY) 我试图用这个gradle定义来包含库(注意:我已经包括了最后的JNI支持和使用本教程的 gradle-experimental): … android.buildTypes { release { minifyEnabled = false proguardFiles.add(file('proguard-android.txt')) } } android.ndk { moduleName = "custom_wrapper_jni" cppFlags.add("-I" + […]

Android工作室突然显示完整的文件夹名称,如何更改

Android工作室突然在项目视图中显示一个文件夹的全名,我不知道如何改变它。 我试图用项目视图中的选项菜单中的设置来更改视图(压扁包检查/取消选中,压缩空的中间包检查/取消选中),但没有更改。 这就是我的项目视图的样子: 这是现在的样子: 在我看来,myapp文件夹内的每个文件夹突然都有完整的appid +自己的名称作为文件夹名称。 我尝试使用这些命令(我是一个mac用户)重置Android Studio设置: rm -Rf ~/Library/Preferences/AndroidStudio* rm ~/Library/Preferences/com.google.android.studio.plist rm -Rf ~/Library/Application\ Support/AndroidStudio* rm -Rf ~/Library/Logs/AndroidStudio* rm -Rf ~/Library/Caches/AndroidStudio* 仍然没有改变。 我目前的Android Studio版本是Android Studio 2.2,内部编号为AI-145.3276617。 我唯一做的就是昨天更新到最新的稳定的Android 2.2版本,我不知道这是否改变了应用程序出现的方式,另一个项目(它是如何用于截图)似乎没有受到影响。

无法获取未知的属性'processReleaseGoogleServices'

我更新了使用Android Studio 2.2和Gradle 2.2.0。 现在我有一个问题的build设。 我按照这个posthttps://medium.com/google-cloud/automatic-per-variant-google-services-json-configurations-with-gradle-d3d3e40abc0e#.g1p7c1tx2configuration了两个“google-services.json”文件用于dev和prod的构build,并在我的app / build.gradle文件中使用以下方法在复制两个“google-services.json”文件之间切换。 afterEvaluate { processDebugGoogleServices.dependsOn switchToDebug processReleaseGoogleServices.dependsOn switchToRelease } task switchToDebug(type: Copy) { description = 'Switches to DEBUG google-services.json' from "src/gcm-dev" include "google-services.json" into "." } task switchToRelease(type: Copy) { description = 'Switches to RELEASE google-services.json' from "src/gcm-prod" include "google-services.json" into "." } Gradle很好,但是当我点击Android Studio中的“Run app”(三angular形“play”图标)或者“Debug app”(带有bug的三angular形“play”图标)button时,我得到以下结果: * What […]