我使用的是Android Studio 0.4.6和Gradle 1.10.我想将git提交到必要的文件和文件夹,以便克隆存储库的任何人都可以开始使用该项目,并且由于没有提交文件而不会丢失文件/设置的任何问题.有人可以指出需要进入VCS的内容以及可选的内容.
问题:" Android Studio项目中的gradle目录 "我看到gradle /文件夹很好用,但是.idea /,.gradle /,gradlew.bat等...我在local.properties里面看到它不应该被提交,但其他一切呢?
这是我现在最适合我的.gitignore:
/app/build
.idea/workspace.xml
.idea/tasks.xml
.gradle
local.properties
Run Code Online (Sandbox Code Playgroud) 我试图在通过以太网连接的设备(非手持设备)上运行测试,但我看到的只是失败.我使用gradle任务connectedAndroidTest来运行仪器测试,并且在通过USB连接到我的PC的手持设备上工作正常.但是,甚至无法在远程设备上启动相同的测试.显示的错误是"未找到测试".以前我看到相同的错误,如果我在没有连接任何设备的情况下启动仪器测试,但Android Studio以及adb设备的输出显示工具链可以看到远程设备.然后我尝试在命令行上运行相同的gradle任务,并提供更多信息.所以我进入了:
gradlew connectedAndroidTest --stacktrace --debug
在一堆调试输出中,我找到了更好的错误描述:
[INFO] [org.gradle.api.Project]'AppNameHere:'跳过设备'DEVICE_IP:5555':未知API级别
[警告] [org.gradle.api.Project]
_FoundCompatibleDevices [TestRunner]失败
我在谷歌搜索了这个错误,我偶然发现了打印它的源代码.所以我下载了android的平台工具源代码,以便能够更轻松地浏览它,在我看来,通过读取属性IDevice.PROP_BUILD_API_LEVEL来检测API级别,这似乎等于"ro.build.version.sdk" ".经过一些谷歌搜索后,我发现它应该在/system/build.prop中定义.设备上此文件的内容显示它具有正确的API级别19.实际上,Android Studio中显示相同的API级别,显示当前连接设备的android选项卡(以及它们的logcat输出,打开进程等) .但是,在某些情况下,这个值似乎没有得到正确的解释.
知道事情可能出错吗?我应该在哪里寻找真正的问题?在Android的工具链中,Android在设备上,在调查过程中出了什么问题?
我目前正在使用:
- Windows 7
- Android Studio 1.1预览1
- Android SDK工具24.0.2
- Android SDK平台 - 工具21
- Android SDK Build-tools 19.1
我想开始为我的应用程序编写单元测试,但我无法运行一个简单的测试.我创建了一个小应用程序,只是为了尝试如何设置和运行单元测试,但实际上没有测试,我得到'空测试套件'.
我正在使用带有gradle 1.12的Android Studio 0.6.1
这是我的文件夹结构:

MyActivityTest.java
package com.vist.testableapp.tests;
import android.content.Intent;
import android.test.ActivityUnitTestCase;
import android.test.suitebuilder.annotation.SmallTest;
import android.widget.Button;
import com.vist.testableapp.MyActivity;
import com.vist.testableapp.R;
public class MyActivityTest extends ActivityUnitTestCase<MyActivity>
{
public MyActivityTest(Class<MyActivity> activityClass)
{
super(activityClass);
}
Button btn1;
@Override
public void setUp() throws Exception
{
super.setUp();
startActivity(new Intent(getInstrumentation().getTargetContext(), MyActivity.class), null, null);
btn1 = (Button)getActivity().findViewById(R.id.button1);
}
@SmallTest
public void testFirst()
{
assertEquals("Btn1",btn1.getText());
}
}
Run Code Online (Sandbox Code Playgroud)
应用程序的build.gradle
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "com.vist.testableapp"
minSdkVersion 15
targetSdkVersion 15
versionCode 1 …Run Code Online (Sandbox Code Playgroud) 我的仪器测试中有一个问题(我使用Robotium),所以我决定调试它.我通常从命令行运行测试gradlew connectedAndroidTest,但它也可以通过选择特定的gradle任务从Android Studio(v0.8.14)运行.但是,如果我尝试调试该gradle任务,则会出现错误Unable to open debugger port : java.net.SocketException "socket closed"并且测试继续运行(无需调试).有没有其他方法来调试检测测试(使用IDE)或我在我的设置中遗漏了什么?
更新: 但是,它适用于模拟器!

我已经用C开发了几年的嵌入式软件,我已经被教会使用分层架构,我已经习惯了.最近我转向Android(和Java),我想知道是否使用了类似的方法.OOP对我来说也是一个新手,所以在某些方面我正在努力做出好的设计选择.Android应用程序的代码是否有任何官方设计指南?我已经看到了活动和视图相关代码的分离,但我不知道它是否是一个好方法,并且谷歌正式鼓励这样做.
我正在开发一个Android应用程序,该程序显示每个内核的CPU负载和内存消耗。对于CPU负载,我正在读取/ proc / stat,对于内存-> / proc / meminfo。但是我看到/ proc / stat中的CPU内核数在随后的文件读取过程中正在改变。
cpu 230599 10622 84595 1892023 8236 16 285 0 0 0
cpu0 138005 7992 58080 1738918 6407 16 278 0 0 0
intr 9136791 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9601 0 0 0 0 0 0 .......
ctxt 16904510
btime 1394641996
processes 16919
procs_running 2
procs_blocked 0
softirq 1688530 407 706934 422 1558 407 407 92978 324500 1267 559650
5秒后变成: …