Ⅰ 如何创建第一个android程序
一、 开发环境安装:
1. 下载 Android SDK.
2. 如果使用Eclipse,请安装 ADT 插件。
3. 下载最新的SDK工具和平台。
二、创建Android项目
一个android项目包含了程序中用到的所有源代码文件.使用Android SDK工具可以轻松的创建一个包含默认目录和文件的项目。
本节介绍如何使用eclipse或从命令行创建一个项目。
Create a Project with Eclipse
点击工具中的 New .
在弹出的窗口中,打开Android目录,选择【Android Application Project】,点击【next】.
Figure 1. The New Android App Project wizard in Eclipse.
3. 在弹出的窗口,如图【Figure1】中,填入下列信息:
Application Name :应用程序名.填入"My First App."
Project Name:项目目录名和显示在Eclipse中的项目文件名 。
Package Name :程序包的命名空间,与java或c#类似。你的包名应该定义一个唯一的名字,保证与在androi系统中安装的所有其他包名称不一样。因此,强烈建议以组织或公司的域名或发布者名字开头。在这个项目中,我们使用"com.example.myfirstapp." ,但是,你不能发布以"com.example”为命名空间的应用到Google Play上。
Minimum Required SDK :程序支持的android系统的最小版本,如果你想要支持更多的android设备,需要将这个版本号设置得相对低一点。有过有些功能在低版本上不支持,你可以只在高版本上启动该功能。在此我们使用默认设置。
Target SDK:当前版本,也是最高版本,当有更高的版本出来时,你应该重新在新的版本上测试你的程序,并修改此参数。
Compile With: 你编译程序时使用的版本。建议使用最新的版本,可通过SDK MANAGER下载。新版本中有新的一些特性,并会根据用户的使用体验做一些改进。
Theme :Android UI样式。可以按默认设置。
点击 Next.
在下一个屏幕上使用默认设置,继续点击next.
下一个屏幕可以设置程序图标.
你可以通过多种方式自定义图标,系统会自动为你生成各种屏幕尺寸下的图标。在你发布程序前,请确保你的图标满足Iconography 设计指南中的说明定义。
继续点击 Next.
现在可以选择一个activity模版.
当前项目,我们选择BlankActivity,然后点击Next.
4.剩下的都按默认设置,点击 Finish.
这样,这个项目就创建完毕了
从命令行工具创建项目
如果你没有使用Eclipse,你可以从命令行通过SDK工具创建项目。
切换到Android SDK目录, tools/ path.
执行:
android list targets
该命令显示可用的android平台。
如果没有显示任何列表,请先通过Android SDK Manager 工具进行安装. 参见 Adding Platforms and Packages.
执行:
android create project --target --name MyFirstApp \
--path /MyFirstApp --activity MainActivity \
--package com.example.myfirstapp
将修改为上一步骤中显示的id;将 修改为你要保存项目的文件夹。
Your Android project is now set up with several default configurations and you’re ready to begin building the app. Continue to the next lesson.
小贴士: 将 platform-tools/ 同tools/ 目录一样加到你的环境变量。
这样,这个项目就创建完毕了.
三、运行你的程序
你要如何运行你的程序取决于两件事:是否有真实的android设备;是否使用eclipse.
在运行你的程序之前,你需要注意项目中的一些文件夹和文件:
AndroidManifest.xml
manifest文件描述应用程序的一些基础特性并定义每一个组件。
你可以查看项目中的manifest文件,与之前谈到的manifest文件的说明对比,即可知道对应的一些元素的设置:
http://schemas.android.com/apk/res/android" ... >
...
src/
存放源代码的目录.默认情况下,包含一个启动时用到的 Activity 类。
res/
含有多个子文件,用于程序资源的存放。示例目录如下:
drawable-hdpi/
包含一些可用于高分辨率屏幕的绘图实体,如图片。其他类似的目录包含对应的分辨率屏幕下的图片。
layout/
程序UI文件。
values/
包含用于定义诸如字符串、颜色等的xml文件。
在真实设备上运行
如果你有android系统设备,可以直接在上面安装你的程序并运行:
首先你的设备需要安装usb驱动。如果你是在window上开发,你可以安装合适的usb驱动。具体驱动安装信息可以参考 OEM USB Drivers
在设备上启用USB调试
大部分 Android 3.2或更早的机器,在 【设置】-【应用程序】-【开发】中设置。
Android 4.0和之后的系统,应该是在【设置】-【开发选项】中。
Note: On Android 4.2 and newer, Developer options is hidden by default. To make it available, go to Settings > About phone and tap Build number seven times. Return to the previous screen to find Developer options.
运行步骤:
打开项目文件,点击【run】。
在弹出的窗口中选择【Android Application】,然后点击【OK】
Eclipse会自动将程序安装到你的设备上并运行他。
在模拟器上运行
在 【run】-【run configuration】中的【Target】页面添加和设置模拟器,然后即可运行
Ⅱ 如何发布android 应用程序,app增加签名证书
Android系统要求,所有的程序经过数字签名后才能安装。Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系。证书不是用于用户控制哪些程序可以安装。证书不需要授权中心来签名:Android应用程序上使用自己签名的证书是完全允许且普遍的。
理解Android应用程序签名有以下几个重要点:
·所有的应用程序都必须签名。系统不会安装任何一个不签名的程序。
·你可以使用自己的证书来签名。不需要任何授权中心。
·当你要为最终用户发布你的应用程序的时候,你必须签入一个合适的密钥。你不可以发布程序的时候还使用SDK工具签入的DebugKey。
·系统只在安装应用程序的时候检测证书的有效期。如果应用程序在安装之后证书失效了,那么,应用程序还是可以正常工作。
·你可以使用标准工具——Keytool和Jarsigner——生成Key并签名apk文件。
·一旦你为应用程序签名了,一定要使用zipalign工具来优化最终的APK包。
Android系统不会安装和运行没有正确签名的应用程序。这条规则适用于任何运行Android系统的地方,不管是真机还是模拟器。正是由于这个原因,你必须在模拟器或真机上运行/调试程序之前对程序进行签名。
当你调试应用程序时,AndroidSDK工具替你对应用程序进行了签名。Eclipse的ADT插件和Ant编译工具都提供了两种签名模式——Debug模式和Release模式。
·当开发和测试时,你可以使用Debug模式。在Debug模式下,编译工具使用内嵌在JDK中的Keytool工具来创建一个keystore和一个key(包含公认的名字和密码)。在每次编译的时候,使用这个DebugKey来为apk文件签名。由于密码是公认的,在每次编译的时候,也不需要提示你输入keystore和key密码。
·当你的程序准备发布时,你必须在Release模式下,使用密钥来为apk文件签名。有以下两种方式可以做到:
1.命令行中使用Keytool和Jarsigner。在这个方法中,首先需要编译出一个未签名的apk。然后使用Jarsigner(或相似的工具),用你的密钥为apk手动签名。如果你没有合适的密钥,你可以运行Keytool来手动生成自己的keystore/key。
2.使用ADT导出向导。如果你使用Eclipse/ADT插件进行开发,你可以使用导出向导来编译程序,生成密钥(如果需要),并为apk签名,所有这些操作都在导出向导中。一旦你的程序签名了,别忘了运行zipalign来为apk进行额外的优化。
签名策略
应用程序签名的某些方面可能会影响应用程序的开发,特别是你打算一起发布多个应用程序的时候。一般来说,推荐的策略是在整个应用程序寿命内,所有的程序签上相同的证书。
以下有几个应该这么做的原因:
·应用程序升级——当你对应用程序进行升级时,如果你想用户平稳的升级,那么,你就需要签上相同的证书。当系统安装一个升级应用程序时,如果新版本的证书与老版本的证书有匹配的话,那么,系统才会允许进行升级。如果你没有为版本签上合适的证书,当你安装时,你需要给应用程序指定一个新的包名——在这种情况下,用户安装的新版本,被当作是一个全新的应用程序。
·应用程序模块化——如果应用程序请求的话,Android系统允许签有相同证书的应用程序运行在相同的进程里,这样,系统就会把它们看作是一个单一的应用程序。用这种方法配置应用程序,用户可以选择更新每个独立的模块。
·代码/数据权限共享——Android系统提供了基于签名的权限检查,因此,如果应用程序间签有特定的证书,那么,它们之间可以共享功能。通过多个程序签有相同的证书并且使用基于签名的权限检查,你的程序可以以一种安全的方式共享代码和数据。还有一个决定签名策略的重要因素是:如何设定key的有效期。
·如果你计划支持单个应用程序的升级,你需要确保你的key拥有一个超过期望的应用程序生命周期的有效期。推荐使用25年或更多的有效期。当你的key过期了,用户也就不能平稳的更新到新版本了。
·如果你想给多个无关的应用程序签上相同的key,那么,你必须确保key的有效期超过所有应用程序所有版本的生命周期,包括将来有可能添加到这一阵营的程序。
·如果你想在AndroidMarket上发布你的程序,key的有效期必须在2033.10.22以后。Market服务器强制这一要求,目前是保证用户可以平稳的更新他们的程序。
当你设计应用程序时,一定要把这些点记在脑子里,并且使用一个合适的证书来为应用程序签名。
签名的基本设定
在你开始之前,你必须保证Keytool对SDK编译工具来说是可利用的。多数情况下,你可以通过设置JAVA_HOME环境变量来告诉SDK编译工具如何找到Keytool。另外,你还可以添加JDK中Keytool的路径到PATH的变量里。
如果你在Linux上开发,并且使用GNU编译器来编译Java,那么,请确保系统是使用JDK中的Keytool,而不是gcj。如果Keytool已经在你的PATH中,它有可能是对/usr/bin/keytool的符号链接。在这种情况下,检查符号链接的目标,确保它是指向JDK中的Keytool。如果你打算对公众释放你的应用程序,你还需要Jarsigner工具。Jarsigner和Keytool都包含在JDK中。
Debug模式下签名
Android编译工具提供了Debug签名模式,使得开发和调试应用程序更加容易,而且还满足Android系统的签名要求。当使用Debug模式编译你的app时,SDK工具会调用Keytool工具自动创建一个Debug的keystore和key。然后,这个Debugkey会自动用于apk的签名,这样,你不需要使用你自己的key来为应用程序包签名。
SDK工具使用预先定义好的名字/密码来创建Debugkeystore/key:
·Keystore名字:“debug.keysotre”
·Keystore密码:“android”
·Key别名:“androiddebugkey”
·Key密码:“android”
·CN:“CN=AndroidDebug,O=Android,C=US”
如果需要的话,你可以改变Debugkeystore/key的位置和名字,或者提供一个自定义的Debugkeysotre/key。然而,任何自定义的Debugkeystore/key必须使用和默认Debugkey(上面描述的)相同的名字和密码。(在Eclipse/ADT中,操作Windows>Preferences>Android>Build实现。)
注意:你不能将签有Debug证书的应用程序发布给公众。
Eclipse用户
如果你在Eclipse/ADT下开发(并且已经按照上面描述的“签名的基本设定”配置了Keytool),Debug模式下签名默认是开启的。当你运行或是调试应用程序时,ADT会使用Debug证书进行签名,并运行zipalign,然后安装到选择的模拟器或是连接上的设备。整个过程不需要你参与,前提是ADT能访问Keytool。
Ant用户
如果你使用Ant来编译你的apk文件,需要在ant命令中添加debug选项来开启Debug签名模式(假设你正在使用由android工具生成build.xml文件)。当你运行antdebug来编译你的程序时,编译脚本会生成一个keystore/key,并为apk进行签名。然后脚本会使用zipalign工具对apk进行对齐处理。整个过程不需要你参与。阅读“其它IDE下开发:Debug模式编译”来了解更多的信息。
Debug证书过期
Debug模式下签名用的证书(默认是Eclipse/ADT和Ant编译)自从它创建之日起,1年后就会失效。
当证书失效时,你会得到一个编译错误,在Ant编译上,
错误如下:
debug:
[echo]Packagingbin/samples-debug.apk,andsigningitwithadebugkey...
[exec]DebugCertificateexpiredon8/4/083:43PM
在Eclipse/ADT中,Android控制台上你将会看到一个相似的错误。
为了解决这个问题,只需要删掉debug.keystore文件即可。AVD默认存储的位置在:~/.android/avd(OSX和Linux),C:DocumentsandSettings\.android(WindowsXP),C:Users\.android(WindowsVista)。
当下一次编译的时候,编译工具会重新生成一个新的keystore和Debugkey。
Release模式下签名
当你的程序准备好释放给其它用户时,你必须:
1.获取一个合适的密钥
2.在Release模式下编译程序
3.使用密钥签名程序
4.对齐APK包
如果你是使用Eclipse/ADT插件开发,你可以使用导出向导来完成编译、签名和对齐等操作。在整个过程中,导出向导甚至还可以生成一个新的keystore和密钥。因此,如果你使用Eclipse,你可以直接跳到“使用EclipseADT编译和签名”。
获取一个合适的密钥为了进行程序的签名,首先,你必须有一个合适的密钥。密钥指:
·个人持有。
·代表个人、公司或组织实体的身份。
·拥有一个有效期。有效期推荐超过25年。
如果你在AndroidMarket上发布你的程序,需要注意一点的是:程序的有效期需要在2033.10.22之后。你不能上传一个应用程序,而它的key的有效期是在这个日期之前。
·不是由AndroidSDK工具生成的Debugkey。
如果你没有一个合适的key,你一定要使用Keytool来生成一个。如“基本设定”中描述的,确保Keytool可用。
为了用Keytool生成一个key,使用keytool命令并传入一些可选参数,如下表所示。
警告:确保密钥的安全。一定要阅读“安全储存你的密钥”中讨论如何确保你的密钥的安全以及这对你和用户为何如此重要。尤其是,当你生成你的密钥时,一定要为keystore和key使用强密码。
Ⅲ 如何将app发布到android市场
虽然大多数的开发者都会将自己的安卓APP上传到各大安卓第三方应用市场,却也不乏想将APP发布到Android应用市场的开发者。那么,发布应用到Android应用市场需要哪些步骤呢?且听笔者一一道来。
在上传之前,你需要先开发完你的APP,并创建一个引人注目的图标,显示在市场的网站和应用程序上。
第1步:上传签名的APK
如果有签名的APK,可以直接到Android应用市场发布网站。如果还没有,需要先将APK签名。如果这是第一次发布,还需要支付25美元,申请一个Google钱包帐户来收钱。
在找到上传APP的按钮后,然后选择之前准备好的APK文件。
第2步:上传宣传媒体
Android应用市场可以使用多张图片来显示应用程序,并展示给用户看。用户在下载APP之前,首先看到是这些图片。所以精心设计的图片,会让APP带来更多的下载量。
Android应用市场需要两张截图,必须是适用在常见屏幕分辨率的设备上。它们应该是一张完整的截图,不能有美术处理,也不能有边框。
Android应用市场还需要高分辨率版本的应用程序图标。这是一个512×512像素的应用程序启动图标。
Android应用市场允许提供一个小的宣传图形。当应用程序有最新版本的时候,谷歌可能会在任何地方使用它。虽然这是可选的,还是强烈推荐。图形不能包含边框。
Android应用市场同样可以使用一个更大的图形。这是1024×500的图片,假设它有50个像素的边缘,这样的主要内容应该是在924×400像素的中心方块;也假设图像会按比例缩小,所以它的图形元素要大。虽然这也是可选的,但我们也建议使用它。如果没有这个特色图片,谷歌将不会显示你的应用程序在所有可能的放置的位置。
Android应用市场可以链接到YouTube视频,展示你的APP。这也是可选的,但却提供了一个有效的视频广告的机会。可以展示APP所有特殊的功能,并向人们解释为什么值得去下载它。影片应尽量短,不要浪费客户的时间。
第3步:填写应用程序信息
接下来,需要填写一些应用程序的信息。这是非常重要的一步,早期用户都是通过这些了解APP,然后决定是否下载。后期,评论会变得非常重要了。
这些信息当中,有一项是提供多语言。如果APP有提供翻译,这是最好的。虽然这里有一个选项是自动翻译,毕竟是机器翻译,并不那么完美,但总比没有的好。
然后,需要在这里填写应用程序的名称,在30个字符之内;以及应用程序的描述,在4000个字符之内。
更新说明是用来突出最新版本有什么不同的。建议尽可能多的在500个字符之内。因为不是所有的用户都会去升级版本,以及阅读更新说明。
宣传文字要非常短、最大80个字符,它会在用户看到完整的描述之前显示。确保它简洁而有力量。
最后,设置应用程序的类型(在应用和游戏两者中选择)。然后设置一个合适的分类。如果不确定,先浏览其他发布商发布跟你一样的应用程序在哪个分类中。
第4步:设置发布选项
下面是关于内容保护,适用年龄段,国家和定价的选项。
刚开始,不要使用拷贝保护功能。而使用授权服务,这有点复杂,但比起支付应用好多了。
对于定价,要么选择免费,要么选择付费(如果选择永久免费,后期是不能改成付费的)。然后选择国家,每一个国家都可以设定价格(或选择自动填充)。你也可以随意的排除一些国家。这可能会违反要求我们向这些国家出售应用的法律。
第5步:填写联系方式和同意条款
此时,必须填写联系方式。这样用户就可以联系到。每一个应用程序可以有不同的联系方式。也可以通过APP发送反馈信息到这里。
最后,必须告诉谷歌,申请符合他们的条款,遵守美国出口的法律。
第6步:激活APK
切换到“APK files”选项卡后点击保存按钮。要确保在点击发布按钮之前,至少有一个APK是激活状态。
第7步:发布应用
现在,当所有的信息都已填好,所有的图片都已上传,APK也是激活的,就可以直接发布了。
总的说来,想要将APP发布到Android应用市场并不是一件容易的事,特别是对于国内的用户而言,Android应用市场并不是一个很好的选择。但,Android应用市场毕竟是官方应用市场,在国外的用户中影响巨大。所以,如果你的APP只针对的是国内的用户的话,各大安卓的第三方应用市场才是更好地选择。但如果你的APP面向的是世界的用户的话,那么发布在Android应用市场是你不二的选择。
Ⅳ unity3d 怎样发布android程序
unity3d是一个跨平台的游戏开发引擎,可以使用c#开发各种平台上的游戏,如windows,Mac,Android,windows phone,IOS,Flash等。下面说下如何将开发好的unity3d游戏发布到Android手机上
1.安装unity3d
2.安装java sdk和Android sdk
unity3d中使用c#编写的代码如何才能在android手机上运行呢,答案是压根就不能运行,unity3d通过mono框架将c#代码转换成Android代码,所以若想发布Android程序,就需要安装Android sdk,而Android又是基于java运行环境的,所以也需要安装java sdk
java sdk的安装一路默认就好,默认路径为C:Program Files (x86)Java。
Androi sdk下载完毕后,解压,然后运行SDK Manager.exe,在弹出的界面中勾选需要的内容,如下图所示
这是因为Build Identifier的名称不是唯一的,不能使用默认的,在右边这是因为Build Identifier的名称不是唯一的,不能使用默认的,修改方法是在发布窗口点击“play settings”,然后设置Build Indentifier属性的值为"com.aaa.bbb"这种格式的,总之不能使用默认的就好了。
Ⅳ 在android market发布了程序,但是把keystore弄丢了,查找了相关资料说只能重新创建keystore
keystore就是一个签名文件,弄丢了以后只能重新创建一个keystore了。
打包apk的时候需要对apk文件进行签名,如果想要自己给apk签名那么就要自己创建keystore。
1.签名的意义
为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。
2.签名的步骤
a.创建key
b.使用步骤a中产生的key对apk签名
3.具体操作
命令行下对apk签名(原理)
创建key,需要用到keytool.exe (位于jdk1.6.0_24\jre\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_24\bin目录下),把上两个软件所在的目录添加到环境变量path后,打开cmd输入
D:\>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore/*说明:-genkey 产生密钥 -alias demo.keystore 别名 demo.keystore -keyalg RSA 使用RSA算法对签名加密 -validity 40000 有效期限4000天 -keystore demo.keystore */D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore/*说明:-verbose 输出签名的详细信息 -keystore demo.keystore 密钥库位置 -signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/
注意事项:android工程的bin目录下的demo.apk默认是已经使用debug用户签名的,所以不能使用上述步骤对此文件再次签名。正确步骤应该是:在工程点击右键->Anroid Tools-Export Unsigned Application Package导出的apk采用上述步骤签名。