Maybe, it is due to "external" storage isolation...
In AndroidManifest.xml
, include:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
For example, somewhere in MyApp.java
:
String PACKAGE_NAME = MyApp.class.getPackage().getName();
String KEY_DIRECTORY_SELECTED = PACKAGE_NAME + ".DIRECTORY_SELECTED";
SharedPreference prefs = getSharedPreferences(PACKAGE_NAME, Context.MODE_PRIVATE);
String apkPath = prefs.getString(KEY_DIRECTORY_SELECTED,
Environment.getExternalStorageDirectory().toString()) + "/KiddieJam/Apps/" + file_name;
System.out.println(apkPath.trim());
PackageManager pm = getPackageManager();
PackageInfo info = pm.getPackageArchiveInfo(apkPath.trim(),PackageManager.GET_ACTIVITIES);
Log.i("ActivityInfo", "Package name is " + info.packageName);
On the other hand, I may suspect you have forgotten the file separator to separate the filename: /KiddieJam/Apps
. It should be /KiddieJam/Apps/