android文件下载代码
❶ 怎样查看 Android APP源代码
将apk文件拷贝至sdcard上。
命令顺序如下:
进入Android sdk文件夹/tools目录下
输入adb shell
输入su
输入cd data
输入cd app
这时就可以看到你安装的所有的apk文件。输入cp 空格 对应的apk 空格 /sdcard/
这样就将apk文件拷贝出来了。
将apk文件后缀直接变成rar格式,可以看到熟悉的目录结构了,
其中xml文件打开后都是二进制的,无法查看。
这时就用到了一个android4me的AXMLPrinter2工具。(请自行网络搜索)
输入以下命令,将xml文件解析出来
java -jar AXMLPrinter2.jar showtimes_list.xml
此命令是在命令行中查看此showtimes_list.xml
将showtimes_list.xml生成xml文件,则输入以下命令:
java -jar AXMLPrinter2.jar showtimes_list.xml > h.xml
目前进行到这一步,只能看到xml文件的内容,其工程中的java源文件还是看不到,看目录结构下有一个classes.dex文件,我们需要将dex文件变为jar文件。
这里用到了另一个工具dex2jar。(自行搜索下载)
在Windows下解压之后的目录如下图所示:
在命令行中,进入到此目录下:
在Windows下,输入以下命令:
dex2jar.bat c:classes.dex
运行完之后,在C盘会多一个classes.dex.dex2jar.jar文件,此文件就是我们需要的jar文件。
利用jd-gui,将jar文件反向工程为java代码。(请自行搜索下载)
它分为Windows、Linux、和max三个版本,这里我下载的是Windows版本的。
解压之后,双击运行exe文件,选择classes.dex.dex2jar.jar文件,相应的jar文件中的Java文件就被反向工程显示出来了!
❷ 怎么运用Git来获取android源代码
下载Git工具:(默认安装即可,我自己是安装在D:\AndroidSrc\Git目录下):
安装完成之后,双击桌面的Git bash图标:
双击出现如下命令窗口,并输入cd /c/
android/source(因为我是选择把android源代码下载到这里面具体情况你可以根据自己的需要来决定),出现如下界面:
初始化目录,使用命令:git init ,然后从远程服务器下载git:
git fetch http://android.git.kernel.org/ + project path.git
并且输入我要下在的base这个部分的代码:git fitch
http://android.git.kernel.org/platformworks/base.git
出现如下界面:
出现这个肯定下载不了的,为什么呢?我去android官网去看了一下,原来不是用老版本的那个命令了,而是如下的命令:
因此我要下载的base这个源代码,找到相应的目录,看下图中的最后一个目录:我用命令:
于是我用:git clone
https://android.googlesource.com/platform/frameworks/base.git
命令来下载base部分的源代码,具体的界面如下:
然而居然出现HTTP
服务请求失败,所以自己果把https换成http(我想大多数的朋友在eclipse中在线安装ADT插件的时候,也会碰到类似的问题,这里就不一一详述了):
输入命令:git clone
http://android.googlesource.com/platform/frameworks/base.git
出现如下界面:
结果成功下载了base这个部分的代码:现在看看我的C盘相应目录中多出的base这个文件夹:
结果就成功了,你要下载其他部分的源代码,依葫芦画瓢就OK了,希望能帮到学习android的朋友。
❸ android 代码
public class ApkClientActivity extends Activity {
static final String TAG = "ApkClientActivity";
Context mContext;
DownloadManager manager ;
DownloadCompleteReceiver receiver;
Button downBtn ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mContext = this;
//获取下载服务
manager =(DownloadManager)getSystemService(DOWNLOAD_SERVICE);
receiver = new DownloadCompleteReceiver();
downBtn = (Button)findViewById(R.id.downBtn);
downBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//创建下载请求
DownloadManager.Request down=new DownloadManager.Request (Uri.parse("http://192.168.0.66:8080/qqinput.apk"));
//设置允许使用的网络类型,这里是移动网络和wifi都可以
down.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE|DownloadManager.Request.NETWORK_WIFI);
//禁止发出通知,既后台下载
down.setShowRunningNotification(false);
//不显示下载界面
down.setVisibleInDownloadsUi(false);
//设置下载后文件存放的位置
down.(mContext, null, "qqinput.apk");
//将下载请求放入队列
manager.enqueue(down);
}
});
}
//接受下载完成后的intent
class DownloadCompleteReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE)){
long downId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
Log.v(TAG," download complete! id : "+downId);
Toast.makeText(context, intent.getAction()+"id : "+downId, Toast.LENGTH_SHORT).show();
}
}
}
@Override
protected void onResume() {
registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
super.onResume();
}
@Override
protected void onDestroy() {
if(receiver != null)unregisterReceiver(receiver);
super.onDestroy();
}
}
其中在设置 down.setShowRunningNotification(false);时,需要添加相应的权限:
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
否则,会报错!
AndroidManifest.xml文件内容如下:
Xml代码
<strong><uses-sdk android:minSdkVersion="9" /></strong>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".ApkClientActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
❹ 下载了android源代码,里面是一个压缩文件。怎么发布到安卓市场。要具体的步骤。谢谢!
android源代码是无法提交到android市场的。
只能提交完整的应用程序。
在hiapk安卓市场注册一个开发者帐号,官方人员审核通过以后你就可以登录你的帐号提交应用了。
希望我的回答对你有用,望采纳为满意答案。
(*^__^*)
❺ android通过http post实现文件下载
可参照我的如下代码
java.io.OutputStreamos=null;
java.io.InputStreamis=null;
try{
java.io.Filefile=newjava.io.File(str_local_file_path);
if(file.exists()&&file.length()>0){
}else{
file.createNewFile();
java.net.URLurl=newjava.net.URL(str_url);
java.net.HttpURLConnectionconn=(java.net.HttpURLConnection)url.openConnection();
os=newjava.io.FileOutputStream(file);
is=conn.getInputStream();
byte[]buffer=newbyte[1024*4];
intn_rx=0;
while((n_rx=is.read(buffer))>0){
os.write(buffer,0,n_rx);
}
}
returntrue;
}catch(MalformedURLExceptione){
}catch(IOExceptione){
}finally{
os.flush();
os.close();
is.close();
}
returnfalse;
❻ android代码下载
首先,android代码最最重要的就是SDK自带的《api_sample》~ 就在android sdk目录下的samples目录里,Eclipse可以直接导入这里面的工程。
api_sample介绍了绝大部分api的使用方法,不知道api怎么用的时候就可以看看官方怎么用的。。。
要下载其他源码有几个途径:
1. sourceforge.net 在里边搜
2. 上各大android开发论坛找 比如http://www.androidin.com/
3. 推荐一个相当棒的网站:http://www.anddev.org/ 里边有很多tutorials~ :)
❼ 现在到哪获取android系统源代码
Android系统源码都在http://android.git.kernel.org/网址下,其中那个系统app都在platform/packages/apps结构下。
在刚才的Git的shell命名行窗口中输入下面的命名:
git clone git://android.git.kernel.org/platform/packages/apps/Luancher2.git
你就可以在你的msysGit安装目录的git下(~\msysgit\msysgit\git)看到Luancher工程文件夹了。
然后打开~\msysgit\msysgit\git\Luancher2文件夹,就可以看到Android的Luancher系统源码工程了。
对于其他的app系统源码的获取方法和上述的Luancher相同,只是命名行后的参数不同。
git clone git://android.git.kernel.org/需下载源码的app所在的位置。
❽ 怎样查看 Android APP 源代码
用压缩软件打开apk文件,解压出根目录中的classes.dex文件
使用cmd ,dex2jar.bat classes.dex命令将classes.dex转换为jar
再用jd-gui打开该jar就可以查看源码了,如果apk安全性好的话,有些代码是看不到的
❾ android开发中,使用到了文件下载并写入到SD卡中,但是每次下载到的文件都不完整。
public File writeToSDFromInput(String path, String fileName,
InputStream inputStream) {
File file = null;
OutputStream outputStream = null;
createSDDir(path);
try {
file = createFileInSDCard(fileName, path);
outputStream = new FileOutputStream(file);
byte buffer[] = new byte[4 * 1024];
int temp;
while ((temp = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, temp);
}
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return file;