2021-08-12补充
不知道为啥这个文章的搜索量这么大,我最早写这个的时候光(guang)腚(dian)总局下的文件是限制电视安装三方软件,只能在自带系统市场里安装,一点余地都不给。
我买电视的时候是2016年,最开始很严格,但是后来已经能感受到放宽松或者小道安装,包括下面的小程序都是电视厂家给自己留的后门。
现在用的时候2种方法,电脑安装 tv盒子助手(http://www.cnhezi.com/),或者直接电脑调用adb命令远程安装(都需要电视打开开发者模式,或者是叫远程调试之类的开关)
另外就是U盘方式,不管行不行,你都可以试试apk放到U盘里,插到电视上会自动弹出一个文件管理,进去看能不能运行apk
我的电视估计时间太久了,直接能看到软件管理界面的U盘扫描功能来装apk
新电视我就不了解了,短时间不会买电视了。
其实最好的搭配还是普通电视+盒子,硬件过时就换,这种电视集成系统的还是有点恶心,硬件过时了整机都会卡。。。食之无味弃之可惜。。。
创维电视限制了应用的安装但是内部通过软件搜索XCX可以搜索到一个叫小程序的应用 (现在应该有个应用安装工具可以直接安装软件和升级软件,虽然提示是调试用,但是这就是让用户安装三方应用用的)
目前是2.8版
打开就提示输入密码:55559510
旧版的密码是:111111
这个版本还有个密码是:654321 用来看开机启动软件的
下面是反编译,然后稍微调整了下报错内容
先上传一版导出的apk和反编译后的代码
查看所有的安装包
adb shell pm -l
导出已知包名的软件
adb shell pm path com.xxxx
然后是导出到本地磁盘D:
adb pull 上面提示的磁盘路径 d:\
package com.example.startotherapp;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.Toast;
import com.example.startotherapp.View.MyappLayout;
public class MainActivity extends Activity {
//页面上的输入框
private EditText passwdView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(1);
setContentView(R.layout.activity_main);
this.passwdView = (EditText) findViewById(R.id.passwd);
this.passwdView.addTextChangedListener(new TextWatcher() {
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() == 8) {
if (!s.toString().equals("55559510")) {
Toast.makeText(MainActivity.this.getApplicationContext(), "密码错误,请重试", Toast.LENGTH_SHORT).show();
MainActivity.this.passwdView.setText("");
} else if (FCApplication.appstoreVersion == 3) {
MainActivity.this.startActivity(new Intent("coocaa.intent.action.APP_STORE_MANAGE_SCANAPP"));
MainActivity.this.finish();
} else if (FCApplication.appstoreVersion == 2) {
ComponentName com = new ComponentName("com.tianci.appstore", "com.tianci.appstore.AppListActivity");
Intent intent = new Intent();
intent.setComponent(com);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("listType", "APK_SCAN_LIST");
MainActivity.this.startActivity(intent);
MainActivity.this.finish();
}
} else if (s.length() == 6 && s.toString().equals("654321") && FCApplication.appstoreVersion == 3) {
MainActivity.this.setContentView(new MyappLayout(MainActivity.this));
}
}
public void afterTextChanged(Editable s) {
}
});
}
}