把Eclipse转为AndroidStudio2024.1工程android源码转换过程 解决示例:android蓝牙串口助手
android studio 3.0取消了导入Eclipse工程的功能,需要手动导入。
方案1:从Eclipse转为android studio3.0再转为最新版android studio2024
我工程小,就没选这个。之前老版的gradle非常难用。
方案2:直接手工转
1.新建一个包名相同的android studio2024的空工程。要能跑走起来。
2.界面xml复制
3.String等资源复制
4.AndroidManifest.xml 把activity和权限复制
这里有点变化,按提示改就行。从 Android 12 开始,所有 Activity 必须明确设置 android:exported 属性。该属性用于指示 Activity 是否可以被其他应用程序启动。未设置此属性会导致编译错误。
<activity android:name="com.iswitch.iswitch.UseActivity"
android:label="@string/app_use"
android:screenOrientation="portrait"
android:exported="true">
5.代码复制
错误:_bluetooth.enable() 方法需要 BLUETOOTH_ADMIN 权限。由于 Android 6.0(API 级别 23)及以上版本引入了运行时权限机制,直接调用此方法可能会导致 SecurityException,因此需要先检查并请求该权限。
修复:应该在调用 _bluetooth.enable() 之前,使用 ActivityCompat.checkSelfPermission 检查是否已经授予了 BLUETOOTH_ADMIN 权限。如果没有授予,则通过 ActivityCompat.requestPermissions 请求权限。
if (_bluetooth.isEnabled() == false) { // 如果蓝牙服务不可用则提示
Toast.makeText(MainActivity.this, " 打开蓝牙中...",Toast.LENGTH_SHORT).show();
new Thread() {
public void run() {
if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.BLUETOOTH_ADMIN) != PackageManager.PERMISSION_GRANTED) {
// 请求 BLUETOOTH_ADMIN 权限
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.BLUETOOTH_ADMIN}, REQUEST_ENABLE);
} else {
_bluetooth.enable();
}
}
}.start();
}
其它
重新格式化选定部分代码:Windows/Linux: Ctrl + Alt + Shift + L
apk运行时,新sdk编译的就无提示老sdk了。当然不改,老工程老apk也能用。