Telegram Android开源源码运行-创新互联
https://github.com/DrKLO/Telegram
阳春网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联公司自2013年创立以来到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。环境介绍
Android Studio版本至少3.4,或者直接去官网下载最新的
手机最低要求是Android 8
TMessagesProj是电报通讯的核心代码,它是一个依赖库,包含了UI,默认启动页是LanuchActivity.java,登录页面是LoginActivity.java
TMessagesProj_App 是要run的项目,一般手机可以直接run这个项目
TMessagesProj_AppHockeyApp及TMessagesProj_AppHuawei应该是针对特定场景的启动入口
编译第一步替换签名
这个很好理解,搞Android开发应该都清楚,需要替换打包签名,用你自己的签名替换TMessagesProj/config/签名文件
签名文件的命令及签名密码及别名都需要在gradle.properties里面去改成你自己的,在debug模式下也是用的release签名
需要改的gradle.properties参数
RELEASE_KEY_PASSWORD=你自己的签名密码
RELEASE_KEY_ALIAS=你自己签名的alias
RELEASE_STORE_PASSWORD=你自己的签名密码
如果你的签名文件不是release.keystore,你需要去build.gradle把release.keystore替换成你自己的签名文件名字
第二步改应用包名
这个默认包名是电报的包名,你需要改成你自己的包名,也是去gradle.properties去改
找到 APP_PACKAGE=org.telegram.messenger ,改成自己的包名
第三步google服务配置
这个项目用到了google的服务,所以需要去google服务注册你的应用https://console.firebase.google.com/ 需要注册两个应用,一个应用用到的包名就是你配置的APP_PACKAGE包名,另外一个应用是你的包名后面要加".beta",比如我的包名是come.telegram.demo,那么我需要注册一个叫come.telegram.demo的应用,一个叫come.telegram.demo.beta的应用,这里注册两个应用的原因是debug模式下脚本会给你的包名结尾加上.beta,去网站注册完应用后会有一个json文件下载地址把它下载下来 google-services.json,下载下来后替换项目中google-services.json文件
第四步需要去电报Api网站对你的应用进行注册
注册完你会得到appid及apphash,然后去BuildVars.java文件把appid及apphash替换成你自己的,去这个网站进行应用注册 https://my.telegram.org/auth 注册时需要手机号和验证码,验证码不是通过短信发的,验证码是通过电报发的消息,所以注意你要先用官方电报软件用你账户登录,登录后你在电报上收验证码
网络问题
到这里的时候你的项目配置基本没啥问题了,可以直接run,但是受国内环境限制你跑起来并不能连上电报的socket,即使你手机用了v p n能访问g o o g l e可能也并不一定能连上电报socket,你可以过滤下日志tel,看看链接状态有没有超时,软件跑起来会进入登录页面通过手机号进行登录点击登录要是连不上会一直是转圈,这时候可能需要找一个代 - 理,网上有很多代理电报的资源,有两种协议一种是mtproto协议一种是socket5协议,可以去这个网站找找是否有能用的代-理ip端口 https://github.com/hookzof/socks5_list/tree/master/tg 我用的是socket5协议成功连上了服务器,这个json文件里面有很多IP端口,并不一定都能用,只能多试试这些IP
怎样去设置代理?
Android源码里面虽然有代理页面但是那是登录成功后才能通过页面设置,登录页面没有代理设置入口,只能你自己改源码,你可以这样在Activity(必须要在Activity里面调用)里面调用下这个代码
AndroidUtilities.showProxyAlert(Activity activity, final String address, final String port, final String user, final String password, final String secret)
showProxyAlert会弹出一个dialog,弹出后你点击确认即可然后去尝试登录
address和port参数是必填的,其他参数可不填,如果代理是mtproto协议好像需要填secret,socket5只需要填IP和端口即可,如果这些proxyIP能用应该就可以登录进去了
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享文章:Telegram Android开源源码运行-创新互联
转载注明:http://scyanting.com/article/decjep.html