Android小试牛刀之遇到的问题
1、运行出错
创建项目时没有使用Empty Activity,创建。
2、创建第一个工程
选择Empty Activity才会自动创建Hello Word代码块
3、appcompat_v7的说明
在创建项目时,系统会自动创建此项目,因为我们在创建时时选择的Minimum Required SDK是API:8 Android 2.2(Froyo)
appcompat_v7是作为一个类库项目存在的,本身不能单独运行,而HelloAndroid项目则引用了appcompat_v7项目,继而可以使用appcompat_v7编写好的类库,如下图所示:
上网查了一下为什么会出现appcompat_v7这个项目,原来是:appcompat_v7是Google自己的一个兼容包,就是一个支持库,能让Android2.1以上全使用上4.0版本的界面。而刚才我们创建项目时,选择的能够运行HelloAndroid这个Android项目的最低Android版本(Minimum Required SDK)是API:8 Android 2.2(Froyo),所以Eclipse认为我们开发的应用要能够在Android2.2版本的系统上面运行,因此自动帮我们创建了appcompat_v7这个项目。appcompat_v7这个项目我们在开发中基本上不用理会的,专心在我们自己的项目上面做开发就好了。
4、创建项目避免创建appcompat_v7项目的办法
在上面,我们已经知道了appcompat_v7这个项目为什么会被创建出来的原因,appcompat_v7是一个支持库,能让Android2.1以上全使用上4.0版本的界面。如果我们开发的应用不需要在Android4.0以下的平台运行,那么我们建项目时直接把最小SDK选在Android4.0以上,这样创建项目就可以避免多创建appcompat_v7这个项目,如下图所示:
创建项目时选择Minimum Required SDK是API:15 Android 4.0.3,如下图所示:
这就表示我们的HelloAndroid应用最低只能在Android4.0.3的系统上运行,低于Android4.0.3的Android系统就无法运行我们这个应用了。
这回创建出来的就只有HelloAndroid一个项目了,如下图所示:
也就是说:使用Eclipse创建Android项目时,如果选择的Minimum Required SDK是低于Android4.0以下的,那么Eclipse就会自动创建多一个appcompat_v7项目,如果选择的Minimum Required SDK是Android4.0以上的,那么Eclipse就不会创建appcompat_v7项目。
5、libs和jnilibs的区别
在eclipse中把so文件都放在libs文件夹中,而在Android studio中把jar文件放在libs目录中,而把so文件放在main文件夹下的jniLibs文件夹中,如果没有要新建且名称不能改。
有一些第三方的sdk下载的libs中包含有so文件,如果使用的是Android studio但是又想把so文件放在libs文件夹中吗,这时候要在app>build.gradle中加入下面的配置,意思是jnilibs的src路径是libs。
sourceSets { main { jniLibs.srcDirs = ['libs'] } }
6、华为手机wifi无线调试
拨号键输入 *#*#2846579#*#* 进入工程菜单,其它menu 不要管, 进入后台设置 ,点击USB端口修改生产模式 。 当你调试 时候 没有LOG 信息输出 , 那就在此 menu 将LOG 设置打开,全选。 后台调试此menu ,望大家跳过, 开启是需要密码的, 傻吊 工程师设置的, 最好不要乱选,选了之后 回来 是会重启,导致你之前设置的生产模式 和 LOG信息开关 重置。
7、settings应用中的点击3次打开开发者选项源码
如果是5次的话,要调整mHits和时间。
第一次和最后一次点击相差500ms的时候,表示连点3次。如果是连点5次,时间要调整的大一点。
long[] mHits = new long[3]; System.arraycopy(mHits, 1, mHits, 0, mHits.length-1); mHits[mHits.length-1] = SystemClock.uptimeMillis(); if (mHits[0] >= (SystemClock.uptimeMillis()-500)) { //执行相关代码 }