Articles of android studio

放置API密钥的位置? 资源,清单中的元数据还是静态variables?

我想弄清楚将API的密钥添加到我的Android应用程序中的最佳做法是什么。 – 有些人建议在Manifest.xml文件中使用meta-data – 链接 。 这让我觉得,最好在resources文件中添加密钥。 – 有人说,把它添加到resources – 链接 api_key_value – 我们可以在类代码中简单地添加它 api.configue(“api_key_value”); – 有些人说在Manifest.xml添加密钥, resources文件将允许其他应用程序读取它 – 链接 。 bar 我并不是想find最安全的方法,因为对我来说,我会将Key保存在服务器中并在运行时检索它。 我问的是最好的方法和最佳实践。 提前致谢。

Android Studio如何了解新的依赖版本?

Android Studio似乎知道何时有更新版本的依赖项。 Maven存储库具有所有版本,因此当然可以检查那里,但它不会对所有依赖项执行此操作。 注意到它适用于com.google和com.android依赖项,但不适用于其他人。 这是为什么? 可以配置吗? 对此有任何见解表示赞赏。

生成签名apk时,幻数不匹配

我正在尝试生成签名的apk但我收到以下错误。 我搜索过它,但没有find任何可以解决这个问题的东西。 解决方案我试过了 使高速缓存/重新启动无效 删除.gradle文件夹 卸载android studio 我最近更新了最新版本3.0.1的工作室,虽然工作正常,但问题是从最近几天开始的。 请有人帮我这个! Magic number did not match java.lang.IllegalStateException: Magic number did not match at com.intellij.credentialStore.kdbx.KdbxSerializerKt.readKdbxHeader(KdbxSerializer.kt:146) at com.intellij.credentialStore.kdbx.KdbxSerializer.createUnencryptedInputStream(KdbxSerializer.kt:61) at com.intellij.credentialStore.kdbx.KdbxStreamFormat.load(kdbx.kt:55) at com.intellij.credentialStore.kdbx.KdbxKt.loadKdbx(kdbx.kt:36) at com.intellij.credentialStore.KeePassCredentialStore.(KeePassCredentialStore.kt:82) at com.intellij.credentialStore.KeePassCredentialStore.(KeePassCredentialStore.kt:44) at com.intellij.ide.passwordSafe.impl.PasswordSafeImplKt.computeProvider(PasswordSafeImpl.kt:38) at com.intellij.ide.passwordSafe.impl.PasswordSafeImpl.(PasswordSafeImpl.kt:46) at com.intellij.ide.passwordSafe.impl.PasswordSafeImpl.(PasswordSafeImpl.kt) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193) at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.doGetComponentInstance(CachingConstructorInjectionComponentAdapter.java:103) at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.instantiateGuarded(CachingConstructorInjectionComponentAdapter.java:80) at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.getComponentInstance(CachingConstructorInjectionComponentAdapter.java:63) […]

无法在gradle上解析符号MavenDeployment

我有一个应用程序和一个支持该应用程序的库,一切都很好(我可以使用库依赖项编译应用程序 build.gradle文件总是出现此错误: Cannot resolve symbol MavenDeployment on gradle 有任何想法吗?

如何在Android Studio中配置AspectJ

我正在尝试在Android Studio中配置AspectJ 。 但经过所有的试验和错误,它不起作用! 令人惊讶的是,我能够使用Eclipse Kepler版本 我为Android Studio执行的步骤 创建示例Android项目 文件>设置>在插件部分搜索AspectJ 假设在Studio中没有其他工作要做,除了build.gradle文件的配置 将compile ‘org.aspectj:aspectjrt:1.8.1’添加到build.gradle(Module:app) 创建了Analytics_onBackPressed.aj用于后退按钮检测 为点击事件检测创建了Analytics_OnClick.aj 为组件oncreate事件检测创建了Analytics_onCreate.aj 创建了必要的依赖类,上面提到的*.aj类将在内部调用 在Manifest中添加了所需的权限 运行项目未检测到任何事件(按钮单击,oncreate或后退按钮单击) 按照这些链接ReferenceLinkOne , ReferenceLinkTwo和ReferenceLinkThree 我的问题是使AspectJ与Android Studio一起工作所需的问题 Eclipse中遵循的步骤使AspectJ正常工作 下载了Eclipse Kepler版本 通过安装新软件选项搜索http://download.eclipse.org/tools/ajdt/43/update 已安装的AspectJ Development Tools (Required) 。 创建示例android项目 创建了Analytics_onBackPressed.aj用于后退按钮检测 为点击事件检测创建了Analytics_OnClick.aj 为组件oncreate事件检测创建了Analytics_onCreate.aj 在Manifest File中添加了所需的权限 右键单击项目并通过以下方式将项目转换为AspectJ 使用AspectJ运行时库配置的Java构建路径 现在,在运行项目时,我能够检测组件oncreate,后退按钮按下 使用环境 Android Studio:2.1.2 JRE:1.8.0 Windows 7企业版 任何帮助都非常感谢! 编辑:1,从输出,仍然没有正确配置AspectJ 根据这个链接 ,我从eclipse创建了jar文件,包括*.aj文件和相应的依赖项。 创建jar file并创建jar排除AndroidManifest.xml 在Android […]

如何从Git导入Android Studio项目

我有和android studio项目我已经检查了git。 我的git ignore文件看起来像: # built application files *.apk *.ap_ # files for the dex VM *.dex # Java class files *.class # generated files bin/ gen/ # Local configuration file (sdk path, etc) local.properties # Eclipse project files .classpath .project # Proguard folder generated by Eclipse proguard/ # Intellij project files *.iws .idea/workspace.xml .idea/tasks.xml […]

将Android Studio项目从git导入Android Studio(Gradle)

我现在已经阅读了好几个小时,每个人似乎都有不同的方法,或者教程已经过时了。 Android Studio .gitignore仅包含app目录,这是故意的。 出于什么原因我不知道。 当试图克隆git repo时,Android Studio不知道如何处理它。 Android Studio中一个非常烦人的缺陷。 对于Android Studio项目,我的.gitignore应该是什么? 我有一个远程git仓库包含以下forms的项目: 正如您所看到的,git repo包含/app目录。 然后我尝试通过Check out project from Version Control导入它并选择git : 一切正常, Test成功,然后我点击Clone : 下一部分我按Yes因为git没有克隆整个项目,只是基本的源文件: 这是我迷失的部分,我猜我是通过Gradle创建项目的,所以我选择Gradle并按Next : 我应该在这里做什么,网上有明显的gradle文件,但我应该使用哪一个: 从现有来源创建项目 如果我选择Create project from existing sources我会遇到以下问题: 结果在这,我期待的app目录: 文件结构(正如你所看到的,fela缺少很多文件,这是当我选择从现有源创建项目时,MyApplication是在Android Studio中创建的应用程序示例):

Android Studio:不推荐使用EditText editable如何使用inputType

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

使用Time Stamp运行昨日版本的Android Gradle构建文件

下面我有Gradle的构建文件。 问题。 它运行昨天的APK而不是今天的。 根本原因。 我动态地将日期放在apks名称中 – 用于调试版本。 当我运行应用程序时,它会看到旧的APK,并且看到它与Gradle期望的匹配,因为Gradle没有刷新并注意到日期更改。 我需要强制gradle刷新每次运行。 buildTypes { debug { debuggable true minifyEnabled false proguardFiles ‘proguard-rules.pro’ applicationVariants.all { variant -> variant.outputs.each { output -> def formattedDate = new Date().format(‘yyyyMMdd’) def newName = output.outputFile.name newName = newName.replace(“app-“, “myappname-“) //”MyAppName” -> I set my app variables in the root project newName = newName.replace(“-release”, “-” […]

从Eclipse迁移到Android Studio gradle结构后更改项目文件结构

我从Eclipse迁移了一个项目。 该项目仍然具有eclipse的“旧”项目文件结构(请参阅http://developer.android.com/tools/projects/index.html )。 有没有办法自动将文件structrue更改为新系统(请参阅http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Project-Structure )? 如果我正确理解http://developer.android.com/sdk/installing/studio-tips.html项目结构部分,那么在迁移时应该会出现这种情况,但事实并非如此(可能是我的错误)。 再一次我的问题:是否可以自动更改文件结构? 如果没有,我需要改变什么? 我需要在build.gradle中更改什么? 什么是过时的文件/目录? 谢谢! 斯蒂芬