我有一个根源的摩托罗拉Defy +运行由Quarx创建的Cyanogenmod v11自定义ROM(夜间构建).使用Android Studio Workspace,(ASW)v.1.1.0,当我尝试在此设备上进行调试时,我得到了
????????????[null]
Run Code Online (Sandbox Code Playgroud)
在" 选择设备"窗口中列出,显示Logcat窗口
insufficient permissions for device
Run Code Online (Sandbox Code Playgroud)
我真的想用这个设备和ROM进行调试.
当我lsusb从命令行进入时,我得到了,
Bus 002 Device 002: ID 22b8:431d Motorola PCS
Run Code Online (Sandbox Code Playgroud)
这是Motorola设备的正确设备ID.我/etc/udev/rules.d/在这些文件中安装了51-android.rules和71-android.rules 以及正确的摩托罗拉ids.
我也尝试过从设备上的开发者选项中获取Revoke USB调试权限,但没有运气.
我没有尝试以root身份运行ASW,希望可能有另一种选择; 在那儿?
更新:我能够进入并访问ADB
uvachem-gsmith2:/home/greg/Android/Sdk/platform-tools # ./adb
Run Code Online (Sandbox Code Playgroud)
然后我做了一个kill服务器,为root用户做了一个SU并重新启动了服务器.然后我尝试从Android Studio连接到设备.在设备上收到关于从PC接受RSA密钥的消息,说"是",然后能够将应用程序部署到设备.回到我原来的问题,是否有另一种方法来访问此设备而无需以root用户身份登录?似乎电话文件系统上存在一个权限问题阻止了这个...
更新#2这里的核心问题是权限问题.即使以root身份运行ADB也允许访问已植根的 Android设备,更好的解决方案是更改此设备的udev文件中的权限...将664重置为666,(请参阅下面的答案).这允许PC访问设备上的文件系统.
好吧,我意识到我的原始代码将近 400 行,所以我稍微格式化了一下,只留下了最重要的部分,所以我希望有人能提供帮助。
所以基本上我在后台服务中运行 LocationListener,这里是代码:package als.wakeup;
import java.text.DecimalFormat;
import java.util.Calendar;
import com.google.android.gms.maps.model.LatLng;
import android.app.AlarmManager;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.location.Criteria;
import android.location.GpsStatus;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.location.LocationProvider;
import android.os.BatteryManager;
import android.os.Bundle;
import android.os.IBinder;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
import android.widget.Toast;
public class Awake_Alarm extends Service implements GpsStatus.Listener{
public static final String BROADCAST_ACTION = "als.wakeup.Intro";
private static final int TWO_MINUTES = 1000 * …Run Code Online (Sandbox Code Playgroud) 当从单独的类调用PopupWindow方法时,我希望能够从xml文件中定义PopupWindow中的布局.下面的代码按需要工作除了从java文件而不是xml文件中提取布局.我不知道在这种情况下如何正确访问xml布局并在PopupWindow中实现,或者如果可能的话.建议和具体建议表示赞赏.谢谢.
showPopup.java
public class showPopup {
Context ctx;
Button btnDismiss;
public showPopup(Context ctx){
this.ctx = ctx;
}
public void onCreateView(LayoutInflater layoutInflater, ViewGroup container) {
View layout = layoutInflater.inflate(R.layout.popup_layout, null);
btnDismiss = (Button) layout.findViewById(R.id.btndismissxml);
}
public void goJoe(View parent){
final PopupWindow popup = new PopupWindow(ctx);
btnDismiss = new Button (ctx);
btnDismiss.setText("Text is from showPopup.java");
popup.setContentView(btnDismiss);
popup.setWidth(400);
popup.setHeight(580);
popup.showAtLocation(parent, Gravity.CENTER_HORIZONTAL, 10, 10);
btnDismiss.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
popup.dismiss();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
Tab3Fragment.java
public class Tab3Fragment extends Fragment …Run Code Online (Sandbox Code Playgroud) android ×3
cyanogenmod ×1
detect ×1
gps ×1
location ×1
opensuse ×1
popupwindow ×1
satellite ×1
xml ×1