分享好友 最新动态首页 最新动态分类 切换频道
HOWTO Setup Android Development
2024-12-27 03:18

This page should provide "how-to" document about using Fedora Linux for developing applications for Android platform.

HOWTO Setup Android Development

This document will cover requirements, steps how to go from source code till final application and how to use Android Emulator for testing of application.

F-12 and higher

  • Eclipse IDE (3.5 and higher is needed because of ADT plugin dependency on Equinox P2) can be installed using :
dnf install eclipse-jdt

Or with YUM:

yum install eclipse-jdt
  • Android SDK

Download SDK from page



    • Start Eclipse, then select Help > Install new software...
    • Click on the Available Software site hyperlink.
    • In Available software sites dialog, click Add....
    • In the Add Site dialog that appears, enter a name for the remote site (for example "Eclipse Update") in the "Name" field. In the Location field, enter one of these URLs, depending on your version of Eclipse. For Eclipse version 3.5 use:
http://download.eclipse.org/releases/galileo/

or for Eclipse version 3.6 use:

http://download.eclipse.org/releases/helios/

For Eclipse version 3.7 (Fedora 16 and current Rawhide (as of Oct. 10, 2011)), use:

http://download.eclipse.org/releases/indigo/

For Eclipse version 4.2 (Fedora 17 and current Rawhide (as of Jun. 6, 2012)), use:

http://download.eclipse.org/releases/juno/

For Eclipse version 4.3 (Fedora 19 and current Rawhide (as of Jun. 5, 2013)), use:

http://download.eclipse.org/releases/kepler/

For Eclipse version 4.4 (Fedora 21 and current Rawhide (as of March 5, 2015)), use:

http://download.eclipse.org/releases/luna/

If you're unsure which version of Eclipse you are using, check it at Help > About Eclipse.

This will add dependency which are required for ADT plugin.

    • Again click on Add button and enter a name for the another remote site (for example, "Android Plugin") in the "Name" field. In the "Location" field, enter this URL:
https://dl-ssl.google.com/android/eclipse/ 

Note: If you have trouble acquiring the plugin, you can try using "http" in the URL, instead of "https" (https is preferred for security reasons).Click OK.

    • Click on each of the added sites and click Reload
    • Back in the Available Software view, next to "Work with:", you should now see "Android Plugin" in the drop down list, select it. In the box below, you will see "Developer Tools" added to the list. Select the checkbox next to Developer Tools, this will automatically select the nested tools Android DDMS and Android Development Tools. Click Next.
    • In the resulting Install Details dialog, the Android DDMS and Android Development Tools features are listed. Click Next to read and accept the license agreement and install any dependencies, then click Finish.
    • Restart Eclipse.
  • Download the SDK from
  • Unpack it in your home directory, then rename it to ~/AndroidSDK
  • Add into path environment variable ~/AndroidSDK in .bash_profile file in your home directory.
    For example:
PATH=$PATH:$HOME/AndroidSDK:$HOME/AndroidSDK/tools
export PATH

# For SDK version r_08 and higher, also add this for adb:
PATH=$PATH:$HOME/AndroidSDK/platform-tools
export PATH
  • Logout and login back to apply path change

Install in Fedora 22 and later versions using :

# dnf install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686

Or with YUM in Fedora 21 and earlier versions:

# yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686

  1. cd into the ~/AndroidSDK directory and run tools/android to configure and create your first Android Virtual Device.
  2. Go to "Available Packages", select components for just those versions of Android you want to work with. For example:
    • SDK Platform Android 2.1
    • Documentation for Android SDK
  3. (SDK version r_08) For the adb tool, make sure you also select:
    • Platform Tools
  4. Click on "Install selected", then click on "accept all" and confirm with clicking on "Install". This will start component installation, when it will be done, click on close. When this will be done, we could proceed with creation of AVD device itself.
  5. Go to "Virtual Devices", Click on "New", this will open screen where you need to specify SD card size (I will use 62MiB), name of device (I will use "android_dev1", target (Android 2.1, if you want to develop for different target, you need to go to step 2 and install SDK platform for different version).
  6. Now click on "Create AVD" which will create Android Virtual Device.

Now we have created Android Virtual Device and we should start it, however, due to issues in AndroidSDK with sound, we will need to run it from command line

https://fedoraproject.org/wiki/emulator -noaudio -avd android_dev1

And this will start emulator for us.


  1. Go to Window -> Preferences, click on Android and set SDK location to directory. (for example /home/user/AndroidSDK) and click on Apply.
  2. Click on apply to reload available targets
  3. choose target android SDK
  4. click on OK

After you've created an AVD, the next step is to start a new Android project in Eclipse.

  1. From Eclipse, select File > New > Project. If the ADT Plugin for Eclipse has been successfully installed, the resulting dialog should have a folder labeled "Android" which should contain "Android Project". (After you create one or more Android projects, an entry for "Android XML File" will also be available.)
  2. Select "Android Project" and click Next.
  3. On next screen type Project Name ("HelloFedora"), Application name (Hello, Fedora), package name (com.example.hellofedora) which represent your namespace and name of activity in "Create Activity" box (HelloFedora). Choose target (if you have multiple targets) and click on "Finish". This will create project for you.


  1. open HelloFedora.java and paste there example code from Hello Fedora Code section.
  2. click on windows -> preferences. In new window, open Android -> Launch and into "Options" text box insert "-noaudio"
  3. open separate console, cd ~/AndroidSDK/tools and execute https://fedoraproject.org/wiki/emulator -noaudio @android_dev1 to start emulator. Wait for start of emulator (it could take several minutes)
  4. in eclipse, click on "run" and it will deploy application into Android Virtual Device.

package com.example.hellofedora;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloFedora extends Activity {
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView tv = new TextView(this);
        tv.setText("Hello, Android Developer
 Thank you, for using Fedora Linux");
        setContentView(tv);

    }
}

Since Android is open source software, we can compile the platform ourselves on our Fedora machines. You need to have at least 6GB of disk space free to build Android.

  • Make sure you have Java installed (Java <= 1.5 only for compiling Android <= 2.1). Preferably Sun Java rather than OpenJDK (OpenJDK should still work but issues are more likely to arise).
  • Ensure that these required packages are installed using or YUM:
dnf|yum install gcc gcc-c++ gperf flex bison glibc-devel.{x86_64,i686} zlib-devel.{x86_64,i686} ncurses-devel.i686 libsx-devel readline-devel.i686 perl-Switch
  • Obtain the Android "repo" tool.
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
  • Create a directory for the Android source trees (We'll use ~/android/source in this example)
mkdir -p ~/android/source
cd ~/android/source
  • Once in the directory, initialize the AOSP repository. (Only run one of these commands per directory)
# Initialize sources for the master branch of Android
repo init -u git://android.git.kernel.org/platform/manifest.git

# Initialize Cupcake (1.5)
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake

# Initialize Donut (1.6)
repo init -u git://android.git.kernel.org/platform/manifest.git -b donut

# Initialize Eclair (2.0 - 2.1)
repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair

# Initialize Froyo (2.2)
repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo

# Initialize Gingerbread (2.3)
repo init -u git://android.git.kernel.org/platform/manifest.git -b gingerbread
  • Now you need to start downloading the source trees from git, while in ~/android/source run:
repo sync
  • Before you can start building for your device, you will need to acquire some proprietary files directly from your device using the adb tool. There will be a script to do this in your device's configuration directory. While still in ~/android/source do:
# I.e for the Nexus One this would be "device/htc/passion"
cd device/<device_manufacturer>/<device_codename>

# The script name *should* be the same in all the devices directories...

  • To build the Android platform, the process is generally like this:
cd ~/android/source
source build/envsetup.sh
lunch      # <- (choose your device from the list)

# To build .img files of the platform (you will need to 'fastboot' these onto a device that supports fastboot):
make

# To build an OTA (Over The Air) package (zip files that carriers send out to devices for updates):
make otapackage

# To build a specific component, for example the Camera application:
make Camera
  • All output from the build process will be located in the directory contained by the shell variable $OUT (the $OUT directory will be different based on what product you lunched earlier). $OUT will generally be something like ~/android/source/out/target/product/<yourdevicename>
  • If your device is not in the 'lunch' list, it's because there is no official open source device config for your particular device. For example, at this point in time, the only device configs that come with the source trees, are the G1 (dream), MyTouch (sapphire), Nexus One (passion), and Nexus S (crespo). This is because they are directly related with Google and therefore just as open source as the rest of the platform.
  • If none of these are your Android device, luckily for us, there are open source developers that work on creating these for various devices. What you want to do is obtain the configuration repo, and put it in ~/android/source/device. The easiest way to do this is to use 'git' (provided by the "Development Tools" dnf|yum group. Git can be installed with DNF by command ). You can search to see if anyone has started working on a config for your specific device.
  • Of course to install your finished build, your Android device must allow root access with a custom recovery image installed. It should also be noted that by compiling Android from the instructions above (building from the official Android repositories), the resulting build will not have native root access, nor will it have the official Google applications (Gmail, YouTube, Market, etc., these can be installed afterward). To build your own development build with superuser access enabled, some more configuration to the source would be needed and is out of the scope of this tutorial. You could also build from alternate Android source trees, such as CyanogenMod () (if your device is supported by their project).
最新文章
口碑最好的手游排行榜2024 五款好口碑的热门手游大全
市面上开发的游戏让人眼花缭乱,而有不少的手游一直以来口碑都非常好。今天小编会给大家盘点口碑最好的手游排行榜最新大全2024的内容,详细的数据,人气都很高。独特吸引力的设定,内容新奇,体验畅爽,让你玩到停不下来。1、《荒野乱斗》
赢下行政旗舰战场,“冰彩沙”可不够,顶尖技术这不就来了!
新能源汽车渗透率连续五个月突破 50% 大关,强势改写着行业格局。BBAP 即便已经陷入价格 “骨折” 的泥沼,却仍未能挽回销量下滑的趋势,在新能源浪潮的冲击下显得更加力不从心。(配图:新能源汽车渗透率数据表 vs BBAP中低端车型销量下滑
网站SEO与全面推广策略指南
本攻略全面解析网站SEO与推广策略,涵盖关键词优化、内容营销、链接建设、社交媒体运用等关键环节。通过实施这些策略,网站可提升搜索排名,吸引更多流量,实现业务增长。在互联网时代,拥有一个优秀的网站是企业的必备,在浩瀚的网络世界
这10个在线AI绘图工具太好用了,设计师们快来get!
无论你是一名专业的插画师,还是一个富有创造力、想随时随地记录生活灵感的人,现在只需要拿起平板或打开电脑浏览器,就能将头脑中的画面描绘出来。本篇文章,我们挑选了10款功能强大又方便好用的在线画图软件
高清美女写真不再是梦!用AI绘图工具一步到位,快速生成你的AI女友!
Midjourney:这个工具以其独特的艺术风格著称,非常适合那些追求创意和艺术效果的用户。Midjourney本质上是一个通过Discord平台操作的AI,可以生成神秘而梦幻的美女图像,非常适合用于社交媒体上的艺术展示。缺点是对于普通用户来说,学习
百度文库APP切入考研场景,上线“AI考研宝典”专区
多知12月17日消息,近日,百度文库APP上线了“AI考研宝典”专区,设置了“政治知识梳理”和“每日时政速记”功能,帮助考生快速梳理政治知识、了解时政信息。此外,“考研英语范文”和“英语作文美化”功能能够帮助考生快速掌握英文作文高
男科资讯:温州东瓯医院是不是正规医院?温州正规男科医院排名看点
  男科资讯:温州东瓯医院是不是正规医院?温州正规男科医院排名看点,温州男科医院排名:1.温州东瓯医院男科,2.温州男科医院,3.温州东瓯医院。温州东瓯医院男科作为专注男科诊疗的医院,医院坚持引进前卫的男科诊疗技术和治疗设备,为
竞价推广这么玩,花1元店铺可获10元的收益!
新店开业还在为没有流量而苦恼?眼睁睁听着隔壁老王家时不时响起“您有新的饿了么订单……”,心里别提有多心酸了!饿了么竞价排名,分分钟让你霸占25名以内的排名,订单蹭蹭涨不停!竞价推广是什么?商家通过竞价(付费)的方式增加自己店
如何解决房屋内墙面渗水问题?这些方法有哪些实际效果?
房屋内墙面渗水是一个令人头疼的问题,不仅影响美观,还可能导致墙面发霉、脱落,甚至影响居住者的健康。下面为您介绍一些解决房屋内墙面渗水问题的方法及其实际效果。1. 外墙防水涂料:在外墙表面涂刷防水涂料,形成一层防水膜,阻挡雨水
梦幻西游全服第一童子 18技能资质不差感受人生巅峰
  逆袭无级别的玩家有上千个,但是绝大多数的无级别装备价格都在10万以下,价格能到50万以上的少之又少!童子不一样,他是目前梦幻西游里175级玩家用来打服战的最佳选择。内丹数量6个、天生成长资质高、有必带技能,合成多技能的童子可比
相关文章
推荐文章
发表评论
0评