我正在开发我的第一个Android应用程序,我很好奇是否有任何"标准"方法来执行特权shell命令.我只能够找到这样做的一种方式,通过执行su,然后再追加我的命令stdin的的su过程.
DataOutputStream pOut = new DataOutputStream(p.getOutputStream());
DataInputStream pIn = new DataInputStream(p.getInputStream());
String rv = "";
// su must exit before its output can be read
pOut.writeBytes(cmd + "\nexit\n");
pOut.flush();
p.waitFor();
while (pIn.available() > 0)
rv += pIn.readLine() + "\n";
Run Code Online (Sandbox Code Playgroud)
我已经读过关于包装特权(superuser)调用的内容JNI:这可能吗?如果是这样,一个人将如何完成它?除此之外,是否还有其他方式来调用特权指令Java?
我想知道是否有人知道如何创建一个可以改变三星手机界面字体样式的应用程序.我有我喜欢的TrueType格式的字体样式.
Galaxy Apps商店有很多字体样式但它们是付费而不是我想要的.您可以看到此应用程序作为示例安装用户后可以执行的操作只需转到设置>设备>字体样式>从列表中选择字体并更改字体样式.
我试过反编译它但没有得到太多.或者换句话说,翻转字体应用程序.
反编译源
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="2" android:versionName="1.1" package="com.monotype.android.font.presentltroman" platformBuildVersionCode="23" platformBuildVersionName="6.0-2438415">
<uses-sdk android:minSdkVersion="7" />
<application android:label="@string/app_name" android:icon="@drawable/icon">
<provider android:name=".FontContentProvider" android:authorities="com.example.myfont" />
<support-screens android:largeScreens="true" android:xlargeScreens="true" />
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
只有一项活动
import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.UriMatcher;
import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import android.database.Cursor;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
import android.util.Log;
import java.io.FileNotFoundException;
public class FontContentProvider extends ContentProvider {
private static final UriMatcher uriMatcher = new UriMatcher(-1);
public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
return null;
} …Run Code Online (Sandbox Code Playgroud)