`
lobin
  • 浏览: 381691 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android: 开发环境

 
阅读更多

 

Android开发环境搭建

 

基本开发环境

 

 

 

Android SDK

 

 

也可以直接使用ADT, Android Studio, Eclipse等集成开发环境, 这些集成开发环境通常都内置了Android SDK。内置的Android SDK通常都不是完整的SDK开发环境。

 

ADT

 

adt-bundle-windows-x86-20140702.zip

 

Android Studio

在Android Studio中启动app可能有时候会遇到这个错误:

Error while waiting for device: AVD Nexus_4_API_30 is already running.

If that is not the case, delete the files at

   /Users/admin/.android/avd/Nexus_4_API_30.avd/*.lock

and try again.

 

根据错误提示,执行以下命令:

$ rm -rf /Users/admin/.android/avd/Nexus_4_API_30.avd/*.lock

 

 

Eclipse

 

需要安装Android开发插件。

 

Android SDK

 

Build

可以参考Build来获得Android SDK的一些信息,如Build版本,包括SDK版本、以及版本代号等。Build版本信息可以参考Build中VERSION类的定义,如增量版本信息INCREMENTAL、发布版本信息RELEASE、包括是否是一个最终的release发布的版本RELEASE_OR_CODENAME、系统BASE_OS、SDK版本信息SDK(以及SDK_INT,这里的SDK已经废弃,它返回的是一个字符串、SDK_INT返回的是一个数字,表示SDK版本代号)

 

Android发布的一些版本代号(对应SDK,参考Build中VERSION_CODES类的定义)

 

基本按照字母顺序,B、C、D、E、...依次来的。

BASE

BASE_1_1

CUPCAKE

DONUT

ECLAIR

ECLAIR_0_1

ECLAIR_MR1

FROYO

GINGERBREAD

GINGERBREAD_MR1

HONEYCOMB

HONEYCOMB_MR1

HONEYCOMB_MR2

ICE_CREAM_SANDWICH

ICE_CREAM_SANDWICH_MR1

JELLY_BEAN

JELLY_BEAN_MR1

JELLY_BEAN_MR2

KITKAT

KITKAT_WATCH

L

LOLLIPOP

LOLLIPOP_MR1

M

N

N_MR1

O

O_MR1

P

Q

R

S

S_V2

 

Android SDK安装需要用到Android SDK Manager。通过Android SDK Manager可以下载安装Android SDK所有相关工具。

 

Android SDK Manager


也可以单独去下载。

Android SDK工具

sdk-tools-windows-4333796.zip

 

Android SDK平台工具

 

查看可用Target:

>android.bat list target

Available Android targets:

----------

id: 1 or "android-18"

     Name: Android 4.3.1

     Type: Platform

     API level: 18

     Revision: 3

     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in

 Tag/ABIs : no ABIs.

----------

id: 2 or "android-19"

     Name: Android 4.4.2

     Type: Platform

     API level: 19

     Revision: 4

     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in

 Tag/ABIs : default/armeabi-v7a, default/x86, google_apis/armeabi-v7a, google_apis/x86

----------

id: 3 or "android-20"

     Name: Android 4.4W.2

     Type: Platform

     API level: 20

     Revision: 2

     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in

 Tag/ABIs : no ABIs.

----------

id: 4 or "android-29"

     Name: Android 10

     Type: Platform

     API level: 29

     Revision: 1

     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in

 Tag/ABIs : no ABIs.

----------

id: 5 or "Google Inc.:Glass Development Kit Preview:19"

     Name: Glass Development Kit Preview

     Type: Add-On

     Vendor: Google Inc.

     Revision: 11

     Description: Preview of the Glass Development Kit

     Based on Android 4.4.2 (API level 19)

     Libraries:

      * com.google.android.glass (gdk.jar)

          APIs for Glass Development Kit Preview

     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in

 Tag/ABIs : no ABIs.

----------

id: 6 or "Google Inc.:Google APIs:19"

     Name: Google APIs

     Type: Add-On

     Vendor: Google Inc.

     Revision: 20

     Description: Android + Google APIs

     Based on Android 4.4.2 (API level 19)

     Libraries:

      * com.android.future.usb.accessory (usb.jar)

          API for USB Accessories

      * com.google.android.media.effects (effects.jar)

          Collection of video effects

      * com.google.android.maps (maps.jar)

          API for Google Maps

     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in

 Tag/ABIs : no ABIs.

 

Android虚拟机环境

 

创建Android虚拟设备:

>android.bat create avd --name emulator-test --target 2 --abi armeabi-v7a

Android 4.4.2 is a basic Android platform.

Do you wish to create a custom hardware profile [no]

Created AVD 'emulator-test' based on Android 4.4.2, ARM (armeabi-v7a) processor,

with the following hardware config:

hw.lcd.density=240

hw.ramSize=512

vm.heapSize=48

 

显示可用Android虚拟设备:

>android.bat list avd

Available Android Virtual Devices:

    Name: emulator-test

    Path: C:\Documents and Settings\Administrator\.android\avd\emulator-test.avd

  Target: Android 4.4.2 (API level 19)

 Tag/ABI: default/armeabi-v7a

    Skin: WVGA800

 

启动Android虚拟设备:

>emulator.exe -avd test3

 

安卓App启动

$ adb shell am start -n "app.***.merchant/app.***.Start" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

 

安卓真机环境

 

手机是一台老华为手机:荣耀 畅玩7

通过数据线将手机和电脑连接。

确认连接后,在命令行下:

>adb devices

List of devices attached

HFK9K18811903422        device

这里可以看到连接的手机设备。

 

连接到手机:

假设手机的ip为:192.168.0.102

>adb connect 192.168.0.102

connected to 192.168.0.102:5555

 

默认端口为5555

 

如果连接不上:

>adb connect 192.168.0.102

unable to connect to 192.168.0.102:5555

 

执行下:

>adb tcpip 5555

 

通过shell进入手机:

>adb shell

HWDUA-M:/ $

 

查看CPU信息

HWDUA-M:/ $ cat /proc/cpuinfo

cat /proc/cpuinfo

Processor       : AArch64 Processor rev 4 (aarch64)

processor       : 0

BogoMIPS        : 26.08

Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32

CPU implementer : 0x41

CPU architecture: 8

CPU variant     : 0x0

CPU part        : 0xd03

CPU revision    : 4

 

processor       : 1

BogoMIPS        : 26.08

Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32

CPU implementer : 0x41

CPU architecture: 8

CPU variant     : 0x0

CPU part        : 0xd03

CPU revision    : 4

 

processor       : 2

BogoMIPS        : 26.08

Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32

CPU implementer : 0x41

CPU architecture: 8

CPU variant     : 0x0

CPU part        : 0xd03

CPU revision    : 4

 

processor       : 3

BogoMIPS        : 26.08

Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32

CPU implementer : 0x41

CPU architecture: 8

CPU variant     : 0x0

CPU part        : 0xd03

CPU revision    : 4

 

Hardware        : MT6739CW

可以看出是联发科的MT6739CW,ARM架构, Armv8 AArch64 Processor rev 4 (aarch64)

 

 

 

Android NDK

android-ndk-r16-beta1-windows-x86.zip

 

华为手机:荣耀 畅玩7

进入工厂模式:

拨号*#*#2846579#*#*进入工厂模式,如下图:


 

 


 

单元测试

对Java程序进行单元测试一般我们用junit比较多。在开发Android App的时候,我们也可以对Android App源代码进行单元测试,android也给我们提供了一个测试Android应用程序的junit版本:androidx.test.ext:junit:1.1.3。基本上和使用junit测试Java程序差不多。

 

下面是一个简单的测试例子,在这个例子中,获取到Android App应用上下文,这个上下文是模拟的,并对applicationId进行断言诊断。

 

@RunWith(AndroidJUnit4.class)
public class AppTest {
    @Test
    public void testApplicationId() {
        Context appContext = InstrumentationRegistry.getInstrumentation()
                .getTargetContext();
        assertEquals(BuildConfig.APPLICATION_ID, appContext.getPackageName());
    }
}
 

 

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics